Rails3 - 单一形式的多个模型 - 这是做到这一点的正确方法吗?
问题描述:
我正在将一个php应用程序移植到Rails 3,并且有一个关于多模型表单的问题以及我如何更新。Rails3 - 单一形式的多个模型 - 这是做到这一点的正确方法吗?
我有以下值形式:
"menu_header"=>{"2"=>{"name"=>"bar menu sub menu"}, "3"=>{"name"=>"bar menu sub menu2"}, "4"=>{"name"=>"bar menu sub menu 3"}}
它们发布到执行的方法:
params[:menu_header].each do |key, item|
@menu_header=MenuHeader.find(key)
@menu_header.update_attributes(item)
end
该作品
menu_header[2][name]="bar menu sub menu"
menu_header[3][name]="bar menu sub menu2"
menu_header[4][name]="bar menu sub menu 3"
通过在日志中PARAMS
但更新一块看起来很丑陋。有没有不同的/更好的方法来做到这一点?
THX
答
如果你想提高你的更新代码看上去比你可以将其改写为:
params[:menu_header].each { |key, item| MenuHeader.find(key).update_attributes(item) }
注:有一个关于这里的铁轨处理多个对象讨论:Multiple objects in a Rails form