Ruby on Rails:将弃用警告视为错误或以其他方式查找已弃用的代码?

我最近从Rails 2升级到Rails 3,我正在尝试根除我可能已经弃用的所有代码。 我这样做的方法就是浏览我在开发机器上运行的站点副本,并从控制台的输出端查看警告。

有没有办法让Rails将弃用警告视为错误或更有效地查找弃用的代码?

您可以通过设置ActiveSupport::Deprecation.behavior来自定义已弃用的调用的行为。 这应该设置为接受消息和callstack的Proc ,例如你可以这样做:

 ActiveSupport::Deprecation.behavior = Proc.new { |message, callstack| raise message + "\n" + callstack.join("\n ") } 

如果您对应用程序进行了自动化测试,则在升级所使用的Rails版本时这些测试非常有用。