2

在昨天的大新闻之后,我一直试图找到一篇关于如何解决不同版本的 Rails 的问题的可靠文章,但我无法做到。

到目前为止我发现的最好的资源是https://gist.github.com/1978249#file_securing_rails_updates.md,但它只提供了一种解决方案:添加ActiveRecord::Base.send(:attr_accessible, nil)到初始化程序。这也是更早的时间在http://railspikes.com/2008/9/22/is-your-rails-application-safe-from-mass-assignment上提出的解决方案。

不过同时,我记得在另一个地方看到过,只要打开配置:config.active_record.whitelist_attributes = true应该就够了。

我非常困惑,从所有这些不同的资源中,我需要在两个解决方案之间做出决定,这两个解决方案对它们适用的 Rails 版本没有任何参考。

也许我在事件发生后错过了一篇关于修复的通用文章,但我没有在 rails 博客上找到一篇文章来说明这一点。我在其他地方找不到它,有人可以请教我。谢谢!

4

1 回答 1

0

我在要点https://gist.github.com/1978249中找到了这个

添加以下初始化程序:

配置/初始化程序/disable_mass_assignment.rb

ActiveRecord::Base.send(:attr_accessible, nil)

对我来说似乎是一个临时修复,直到 rails core 想出更好的东西!

于 2012-03-05T16:54:50.887 回答