[英]Rails strong params with “dot” in name
我需要在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?
謝謝。
我認為它只是沒有允許它,因為你有一個集合,你告訴它允許單個值參數。 如果您使用:
params.permit(:'dictionary_objects.id' => [])
那一切都應該好。
對於邊緣情況,我建議一個非常有用的解決方法:
params.slice('dictionary_objects.id').permit!
因此,你可以將鍵盤列入白名單,並且因為強大的障礙而不會變得瘋狂。
邊注:
rails內置於接收諸如關於has_many
關系的dictionary_object_ids
has_many
args,你可以利用它來代替它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.