我无法在Rails中找到有关.build方法的任何文档(我目前正在使用2.0.2)。
通过实验,您似乎可以使用build方法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
在这种情况下,未设置外键,这是因为在保存时,新人没有身份证,因为尚未保存。
我的问题是:
构建工作如何进行,以使Rails足够聪明地找出如何以正确的顺序保存记录?
在
belongs_to
恋爱关系中我该怎么做?在哪里可以找到有关此方法的任何文档?
谢谢
belongs_to
”和“方法所添加的方法has_one
”。可以在API文档中找到更多技术文档:belongs_to
和has_one
。