Rails 4 +强对手:如何允许一切?

时间:2014-05-27 14:30:46

标签: ruby-on-rails cocoon-gem

由于模型关系的复杂性和表单的灵活性,我要求强大的params获取params[:variants]的所有键。

我正在使用cocoon gem作为嵌套表单,它会为每个新条目生成一个随机数字字符串,如下所示:

>> params[:variants]
=> {"1401200245834"=>{"size"=>"M", "price"=>"0.00", "measurements"=>"", "sku"=>""}}

1401200245834是随机的,所以我不能把它粘在我允许的参数上。如何在params散列中的:variants键下允许所有内容?

1 个答案:

答案 0 :(得分:2)

我认为docs中的这一段是相关的:

要将整个参数哈希列入白名单,可以使用permit!方法:

params.require(:variants).permit!

这将标记:variants参数hash以及允许的任何subhash。使用许可证时应格外小心!因为它将允许所有当前和未来的模型属性进行质量分配。