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

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

现在,我们得到一个ActiveModel::ForbiddenAttributesError 。 我不明白为什么,因为我们使用的是protected_attributes gem。

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

 attr_protected :id 

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