在Rails 3中消除弃用警告

28

有人能告诉我如何消除Rails 3中的弃用警告吗?

我的一些情况会引起误报,即在haml中使用“-”循环和使用dynamic_form插件中的f.error_messages。

谢谢。


您想要消除所有弃用警告还是仅在选定的代码块中消除警告? - mikej
最好只翻译我知道是安全的代码片段,但无论如何,如果我能切换它,那就很好,可以减少一些日志噪音。 - user138095
3个回答

60

要消除所有警告信息,您可以执行以下操作:

ActiveSupport::Deprecation.silenced = true

这可以放在初始化器或特定环境的环境文件中(例如,仅在生产环境中消除噪音)。

或者针对特定代码段,将其包含在块中:

ActiveSupport::Deprecation.silence do
  # no warnings for any use of deprecated methods here
end

这适用于Rails 3和4。


8
我还有一些很棒的黑色胶带,你可以把它贴在发动机油灯上 ;) - Michael Durrant

12

对于Rails 3.2.12,已接受的答案对我没有起作用。将其放置在environments/production.rb或初始化程序中仍会输出警告。我不得不将其放在config/environment.rb文件中,在应用程序初始化之前:

# Load the rails application
require File.expand_path('../application', __FILE__)

::ActiveSupport::Deprecation.silenced = true if Rails.env.production?

# Initialize the rails application
Notices::Application.initialize!

谢谢您的发布,与其他解决方案相比,这是在Rails 4中唯一有效的方法。 - Chris Hough

7

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接