Rails의 .build 메소드에 대한 문서를 찾을 수 없습니다 (현재 2.0.2를 사용하고 있습니다).
실험을 통해 빌드 방법을 사용하여 레코드를 has_many
저장하기 전에 관계에 레코드를 추가 할 수 있습니다 .
예를 들면 다음과 같습니다.
class Dog < ActiveRecord::Base
has_many :tags
belongs_to :person
end
class Person < ActiveRecord::Base
has_many :dogs
end
# rails c
d = Dog.new
d.tags.build(:number => "123456")
d.save # => true
이렇게하면 외래 키가있는 개와 태그가 올바르게 저장됩니다. 이것은 belongs_to
관계 에서 작동하지 않는 것 같습니다 .
d = Dog.new
d.person.build # => nil object on nil.build
나는 또한 시도했다
d = Dog.new
d.person = Person.new
d.save # => true
이 경우 외래 키 Dog
는 저장 될 때 새 사람이 아직 저장되지 않았기 때문에 ID를 가지지 않기 때문에 설정되지 않습니다.
내 질문은 :
Rails가 레코드를 올바른 순서로 저장하는 방법을 알아낼 수있을 정도로 똑똑해 지려면 어떻게해야합니까?
belongs_to
관계 에서 어떻게 똑같은 일을 할 수 있습니까?이 방법에 대한 문서는 어디서 찾을 수 있습니까?
감사합니다
belongs_to
Added Methodshas_one
" 및 "Added Methods by "를 참조하십시오 . 더 많은 기술 문서는 API 문서에서 찾을 수 있습니다 :belongs_to
및has_one
.