白名单嵌套参数与params.permit在Rails 4中

时间:2016-02-01 21:27:55

标签: ruby-on-rails ruby-on-rails-4 params

考虑这样的参数集:

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
=> {}

1 个答案:

答案 0 :(得分:1)

我不喜欢定义id2的方式,但我不知道你是否可以操纵接收数据的方式。

你应该尝试像这样设置白名单:

Project Interpreter