Rails强烈的params,名字中带有"dot"

Kon*_*udy 6 ruby ruby-on-rails strong-parameters ruby-on-rails-4

我需要在Rails 4中允许一个参数,它的名字中有一个点:

我的params哈希看起来如下:

{
  "dictionary_objects.id" => [
    "102", "110", "106"
  ]
}
Run Code Online (Sandbox Code Playgroud)

我可以得到参数值:

>> params['dictionary_objects.id']
=> [
 [0] "102",
 [1] "110",
 [2] "106"
]
Run Code Online (Sandbox Code Playgroud)

但是当我尝试允许它时,它返回一个空哈希:

 >> params.permit('dictionary_objects.id')
 Unpermitted parameters: dictionary_objects.id
 => {}
Run Code Online (Sandbox Code Playgroud)

有谁知道我怎么能在它的名字上留下一个带点的params?

谢谢.

Sha*_*ell 6

我认为它只是没有允许它,因为你有一个集合,你告诉它允许一个值参数.如果您使用:

params.permit(:'dictionary_objects.id' => [])
Run Code Online (Sandbox Code Playgroud)

那一切都应该好.