이것은 액티브 레코드를 사용하는 데모 데모로 제작시 유용하지는 않습니다. 그래도 시작할 수 있습니다. 내 코드는 sqlite3 보석없이 연결을 만들 것입니다. 나는 Active Record가 : adapter 해시 항목을 사용한다면 그것을 포함 할 것이라고 생각한다. 물론 설치가 필요하지만 액티브 레코드의 코드에는 실제로 필요하지 않습니다. 볼 필요없이 그냥 사용해보십시오. 그래도 의심 스럽다면 재미만을 위해 보석을 제거하십시오. 더 많은 액티브 레코드 네임 스페이스와 메쏘드가 있습니다. 특히 데이터베이스가 이미 있는지 확인하기 위해 시도해야합니다. 그런 다음 하나의 생성을 전달하십시오. 다음은 Metaprogramming Ruby라는 책의 샘플 코드입니다.
#---
# Excerpted from "Metaprogramming Ruby",
# published by The Pragmatic Bookshelf.
# Copyrights apply to this code. It may not be used to create training material,
# courses, books, articles, and the like. Contact us if you are in doubt.
# We make no guarantees that this code is fit for any purpose.
# Visit http://www.pragmaticprogrammer.com/titles/ppmetr2 for more book information.
#---
# Create a new database each time
File.delete 'dbfile' if File.exist? 'dbfile'
require 'active_record'
ActiveRecord::Base.establish_connection :adapter => "sqlite3",
:database => "dbfile.sqlite3"
# Initialize the database schema
ActiveRecord::Base.connection.create_table :ducks do |t|
t.string :name
end
class Duck < ActiveRecord::Base
validate do
errors.add(:base, "Illegal duck name.") unless name[0] == 'D'
end
end
my_duck = Duck.new
my_duck.name = "Donald"
my_duck.valid? # => true
my_duck.save!
require_relative '../test/assertions'
assert my_duck.valid?
bad_duck = Duck.new(:name => "Ronald")
assert !bad_duck.valid?
duck_from_database = Duck.first
duck_from_database.name # => "Donald"
assert_equals "Donald", duck_from_database.name
duck_from_database.delete
File.delete 'dbfile' if File.exist? 'dbfile'
이 코드는 사용 후에 db 파일을 삭제하며 아주 좋은 영속성도 아닙니다. 그러나 단언을 테스트하는 것만 큼 아이디어를 얻을 수 있습니다. 당신은 당신이 균형을 바꿀 때 그것을 확신 할 수 있습니다.
나머지 코드가 필요합니까? https://pragprog.com/book/ppmetr/metaprogramming-ruby
나는 너를 훈련시키고 있는가? 내가 틀린다면 사회자가 이것을 삭제하십시오. 나는 나쁜 모범을 보이고 싶지 않다.
JFI는 레일즈 애플리케이션 또는 루비 코드 중 루비 코드가 궁금하다면 'sqlite3'이 필요합니다. – Viren