我需要在Rails 4中允许一个参数,它的名字中有一个点:
我的params
哈希如下所示:
{
"dictionary_objects.id" => [
"102", "110", "106"
]
}
我可以获得参数值:
>> params['dictionary_objects.id']
=> [
[0] "102",
[1] "110",
[2] "106"
]
但是当我尝试允许它时,它返回一个空哈希:
>> params.permit('dictionary_objects.id')
Unpermitted parameters: dictionary_objects.id
=> {}
有没有人知道如何允许使用带有圆点的params?
感谢。
答案 0 :(得分:6)
我认为它只是没有允许它,因为你有一个收藏品并且你告诉它允许单一的价值参数。如果您使用:
params.permit(:'dictionary_objects.id' => [])
然后一切都会好起来的。
答案 1 :(得分:2)
对于边缘情况我推荐一个非常有用的解决方法:
params.slice('dictionary_objects.id').permit!
因此,你可以将密钥列入白名单,并且不会因为强大的障碍而变得疯狂。
旁注:
使用rails来接收dictionary_object_ids
关系has_many
之类的args,你可以利用它来代替。