我已经在很长一段时间内修改了Rails 5.0许可功能,但我无法做到正确并且真的需要一些帮助:
我有这个白名单功能。并且在执行时我得到以下响应:
未经许可的参数:studio_users_attributes
我有这个白名单功能
def studio_params params.require(:studio).permit(:name, :name_long, :address, :address2, :zip, :city, :country, :phone, :entity_id, { studio_users_attributes: [] } ) end
params方法返回以下内容:
{"utf8"=>"✓", "_method"=>"patch", "authenticity_token"=>"VZTPSpsmNJxcqc[...]",
"studio"=>{"studio_users_attributes"=>{"0"=>{"viewing_rights"=>"Nur eigene",
"id"=>"4"}, "1"=>{"viewing_rights"=>"Alle", "id"=>"5"}}},
"commit"=>"Studio aktualisieren", "controller"=>"studios",
"action"=>"update", "id"=>"2"
}
一些帮助将受到高度赞赏。
菲利普
答案 0 :(得分:0)
在控制器中,您使用studio_users_params
。
但是你发送了studio_users_attributes
。
答案 1 :(得分:0)
经过一些实验,我设法解决了。
对于嵌套参数,我必须将键显式添加到嵌套哈希:
def studio_params
params.require(:studio).permit(:name, :name_long, :address, :address2, :zip,
:city, :country, :phone, :entity_id,
studio_users_attributes: [:id, :viewing_rights] )
将散列留空(studio_users_attributes:[])仍然会导致
“未经许可的参数:studio_users_attributes”