我在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
中的外键没有设置,因为在保存外键时,新的person没有id,因为它还没有保存。
我的问题是:
belongs_to
relationship?谢谢
https://stackoverflow.com/questions/783584
复制相似问题