Rails:白名单嵌套参数/允许的参数/嵌套形式
Rails: Whitelisting nested parameters / Permitted Parameters / Nested forms
我已经研究 Rails 5.0 许可功能很长一段时间了,但我就是做不好,真的需要一些帮助:
我有这个白名单功能。执行时我得到以下响应:
Unpermitted parameter: 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 方法returns 我关注:
{"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"
}
非常感谢您的帮助。
菲利普
在您使用的控制器中 studio_users_params
。
但是你发送studio_users_attributes
.
经过更多的试验,我设法解决了它。
对于嵌套参数,我必须明确地将键添加到嵌套哈希中:
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: []),仍会导致
"Unpermitted parameter: studio_users_attributes "
我已经研究 Rails 5.0 许可功能很长一段时间了,但我就是做不好,真的需要一些帮助:
我有这个白名单功能。执行时我得到以下响应:
Unpermitted parameter: 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 方法returns 我关注:
{"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"
}
非常感谢您的帮助。
菲利普
在您使用的控制器中 studio_users_params
。
但是你发送studio_users_attributes
.
经过更多的试验,我设法解决了它。
对于嵌套参数,我必须明确地将键添加到嵌套哈希中:
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: []),仍会导致
"Unpermitted parameter: studio_users_attributes "