accepts_nested_attributes_for 类方法 这个方法可以在该model上生成一个属性writer
eg:
为model Book新增两个新方法
author_attributes=(attributes)
page_attributes=(attributes)
class Book < ActiveRecord::Base
has_one :author
has_many :pages
accepts_nested_attributes_for :author, :pages
end
一对一关联
class Member < ActiveRecord::Base
has_one :avatar
accepts_nested_attributes_for :avatar
end
开启了一对一的关联嵌套之后可以用这样的方法一次性创建Member
params = { :member => { :name => "Jack", :avatar_attributes => { :icon => "test"} } }
下面是create
member = Member.create(params[:member])
params = { :member => { :avatar_attributes => { :id => '2', :icon => "sad" } } }
member.update_attributes(params[:member])
网友评论