[英]Include key/value pairs and single values in a hash
我有一個包含字段的嵌套屬性表單:
(注意,第三個屬性不是數組)
在我的控制器中,強大的參數如下所示:
params.require(:campaign).permit(
:somevalue,
nests_attributes: {
attr1: [],
attr2: [],
:attr3
}
)
當然,這不起作用,因為attr1
和attr2
使用鍵/值對建立數組,而attr3
是允許的單個值。
如何同時使用兩者?
鑒於此參數:
{"campaign"=>{"somevalue"=>1, "nest"=>{"attr1"=>[1, 2, 3], "attr2"=>[1, 3, 4], "attr3"=>3}}}
你可以這樣做:
params.require(:campaign).permit(
:somevalue,
nest: [:attr3, attr1: [], attr2: []]
)
您可能會發現看到[]
attr1: []
里面有attr1: []
很奇怪,但是在Ruby中這是完全有效的語法。 它將被解釋為:
[:attr3, {:attr1=>[], :attr2=>[]}]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.