![](/img/trans.png)
[英]Strong Params: params.permit returns Unpermitted parameters despite whitelist
[英]Whitelist nested params with params.permit in Rails 4
考虑这样的参数集:
params = ActionController::Parameters.new(
{sync:{
"id1":[{error:"1", balance:"1"}],
"id2":
[
{error:"2", balance:"2"},
{error:"22", balance:"22"},
....
{error:"n", balance:"n"}
]
}
}
)
如何将嵌套键“ id1”和“ id2”白名单
params.require(:sync)
=> {"1"=>[{"error"=>"1", "balance"=>"1"}], "2"=>[{"error"=>"2", "balance"=>"2"}]}
可以,但是现在我想更深入。 在此哈希中,我想通过键从值中获取每个数组。 我怎样才能做到这一点?
>> params.require(:sync).permit(:id)
Unpermitted parameters: 1, 2
=> {}
我不喜欢id2的定义方式,但是我不知道您是否可以操纵接收数据的方式。
您应该尝试像这样设置白名单:
params.require(:sync).permit({id1: [:error, :balance]}, {id2: [{:error, :balance},{:error, :balance},{:error, :balance}]})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.