为什么我在使用protected_attributes gem时得到ForbiddenAttributesError

时间:2015-11-08 21:13:57

标签: ruby-on-rails ruby-on-rails-4 strong-parameters

我们刚刚从4.0.1升级到rails 4.1.13。我们一直在努力实施强大的参数。因此,我们仍在使用protected_attributes gem,因此我们可以使用旧的行为。

现在,我们正在获得ActiveModel::ForbiddenAttributesError。我不明白为什么,因为我们正在使用protected_attributes gem ..

1 个答案:

答案 0 :(得分:1)

您基本上可以使用以下代码段来标记除了模型的id属性之外的质量分配安全属性

attr_protected :id

请注意,这样做可以使除模型ID之外的所有属性都可以进行质量分配。 如果您的模型的大部分属性都可以进行质量分配,我认为使用attr_protected而不是使用attr_accessible会更有意义,因为它可以完成相同的工作,而无需编写更多的代码行。