我一直無法找到Rails中的.build方法的任何文檔(我目前使用2.0.2)。Ruby on Rails。如何在屬於關係的情況下使用Active Record .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
外鍵是不是在這種情況下,設定到期的事實,當時它被保存,新的人沒有一個id因爲它尚未保存。
我的問題是:
如何建設工作,使Rails是足夠聰明,知道如何記錄保存在正確的順序?
如何在
belongs_to
關係中做同樣的事情?我在哪裏可以找到關於此方法的任何文檔?
謝謝
關於文檔,請參閱滑軌指南[_ 「方法通過`belongs_to`加入」 _](http://guides.rubyonrails.org/association_basics.html#methods-added-by-belongs-to )和[_「由has_one添加的方法」_](http://guides.rubyonrails.org/association_basics.html#methods-added-by-has-one)。更多技術文檔可以在API文檔中找到:[`belongs_to`](http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#method-i-belongs_to)和 [`has_one`]] (http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#method-i-has_one)。 – Dennis 2016-03-13 13:33:28