我最近从 Rails 2 升级到 Rails 3,我正在尝试根除我可能拥有的所有已弃用的代码。我这样做的方式只是浏览我在开发机器上运行的网站副本,并查看控制台的输出以获取警告。
有没有办法让 Rails 将弃用警告视为错误,或者更有效地找到弃用的代码?
最佳答案
您可以通过设置 ActiveSupport::Deprecation.behavior
来自定义已弃用调用的行为。 .这应该设置为 Proc
接受消息和调用堆栈,例如你可以这样做:
ActiveSupport::Deprecation.behavior = Proc.new { |message, callstack|
raise message + "\n" + callstack.join("\n ")
}
如果您对应用程序进行了自动化测试,那么在升级正在使用的 Rails 版本时,这些测试是非常宝贵的。
关于ruby-on-rails - Ruby on Rails : Treat deprecation warnings as errors or otherwise find deprecated code?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4648222/