【发布时间】:2015-07-15 23:52:00
【问题描述】:
这是我的参数:
{"utf8"=>"✓", "authenticity_token"=>"g0mNoBytyd0m4oBGjeG3274gkE5kyE3aPbsgtqz3Nk4=", "commit"=>"Save changes", "plan_date"=>{"24"=>{"recipe_id"=>"12"}, "25"=>{"recipe_id"=>"3"}, "26"=>{"recipe_id"=>"9"}}}
我如何允许:
"plan_date"=>{"24"=>{"recipe_id"=>"12"}, "25"=>{"recipe_id"=>"3"}, "26"=>{"recipe_id"=>"9"}}
要获得如下所示的输出:
permitted_params = ["24"=>{"recipe_id"=>"12"}, "25"=>{"recipe_id"=>"3"}, "26"=>{"recipe_id"=>"9"}]
这样我就可以使用以下来保存:
permitted_params.each do |id, attributes|
Object.find_by_id(id.to_i)
Object.update_attributes(attributes)
end
我正在尝试以下方法,但它不起作用:
def permitted_params
params.require(:plan_date).permit(:id => [:recipe_id])
end
事实上,我的版本并没有让任何事情通过 =(
【问题讨论】:
-
我回答了一个类似的问题 - 希望这有助于stackoverflow.com/questions/30894070/…。
标签: ruby-on-rails ruby-on-rails-4 parameters parameter-passing strong-parameters