我有一个嵌套的属性表单,其中包含以下字段:
(注意第三个属性不是数组)
在我的控制器中,强大的参数如下所示:
params.require(:campaign).permit(
:somevalue,
nests_attributes: {
attr1: [],
attr2: [],
:attr3
}
)
这当然不起作用,因为attr1
和attr2
使用键/值对来建立数组,而attr3
是允许的单个值。
我如何同时使用两者?
答案 0 :(得分:1)
考虑到这个参数:
params.require(:campaign).permit(
:somevalue,
nest: [:attr3, attr1: [], attr2: []]
)
你可以这样做:
[]
你可能会发现attr1: []
里面有[:attr3, {:attr1=>[], :attr2=>[]}]
很奇怪,但它在Ruby中是完全有效的语法。它将被解释为:
int num = random.nextInt(90) + 10;