6
deprecated_mass_assignment_security.rb:17:in `attr_accessible': `attr_accessible` is extracted out of Rails into a gem. Please use new recommended protection model for params(strong_parameters) or add `protected_attributes` to your Gemfile to use old one. (RuntimeError)

我尝试了消息中所说的内容,并添加gem 'strong_parameters'到我的Gemfile.

但是当我这样做时,rails s我得到了上面的错误。

更新

我试过:

config.active_record.whitelist_attributes = true

in confgi/application.rb,也与false,但实际上我不明白那个选项。

4

2 回答 2

6

attr_accessibleattr_protected已从 Rails 4 中提取并提取到protected_attributes中。将其捆绑到您的应用程序中,然后您应该可以再次使用它们。

话虽如此,建议您使用strong_parameters而不是attr_accessible这些天,因此最终您会想要迁移到那个。

于 2013-07-29T04:25:37.937 回答
4

在您的 Gemfile 中,您会注意到gem 'protected_attributes'已被散列。删除哈希。运行bundle install

但是由于 protected_attributes 已被弃用,并且将来可能会消失,因此请使用上述帖子中提到的 strong_parameters。

有关 strong_parameters 的更多信息,请参阅此链接

于 2014-01-02T06:04:09.990 回答