我要像下面這樣:如何更新模型對象的關聯對象?
@user.update_attributes(:name => "Obama", :profile => { :current_location => 'US' })
其中User HAS_ONE輪廓。
我要像下面這樣:如何更新模型對象的關聯對象?
@user.update_attributes(:name => "Obama", :profile => { :current_location => 'US' })
其中User HAS_ONE輪廓。
使它們成爲'嵌套屬性'。 The documentation說:
考慮到有一個頭像會員型號:
class Member < ActiveRecord::Base
has_one :avatar
accepts_nested_attributes_for :avatar
end
...
允許您通過會員更新化身:
params = { :member' => { :avatar_attributes => { :id => '2', :icon => 'sad' } } }
member.update_attributes params['member']
member.avatar.icon # => 'sad'
由於bjelli有表示這是您可能需要的accepts_nested_attributes_for
方法。重要的是要注意,這是配置文件的id參數的傳入,它允許它識別它是您想要更新的更新。
我會推薦閱讀本文的nested_attributes.rb評論以瞭解更多:)