我正在向我的控制器发送一组关联ID,比如foo_ids
.要允许值数组,我使用:
params.permit(foo_ids: [])
现在的问题是,如果我发送一个foo_ids
的空数组,参数就会被忽略.与其像一个空数组那样清除所有foos
,不如让关联单独存在,因为不允许使用foo_ids
.
这可能是因为an empty array is converted to nil in rails,而nil值被忽略,因为强参数正在寻找一个标量值数组,而不是单个标量值.
有人能提出解决这个问题的好办法吗?谢谢
Additional info
在更新控制器操作中,我需要能够处理两种情况.我需要能够将foo_ids
设置为空array.如果我只想更新另一个字段,就可以忽略它.如果nil不适用于第二种情况,则将foo_ids
设置为空array.