任何人都可以告诉我如何沉默Rails 3中的弃用警告?沉默在Rails 3中的弃用警告3
我有几种情况,它是抛出误报。即在dynamic_form插件中使用haml和f.error_messages中的for循环。
感谢
任何人都可以告诉我如何沉默Rails 3中的弃用警告?沉默在Rails 3中的弃用警告3
我有几种情况,它是抛出误报。即在dynamic_form插件中使用haml和f.error_messages中的for循环。
感谢
要关闭所有废弃警告,你可以这样做:
ActiveSupport::Deprecation.silenced = true
这可以被放置在初始化或者在环境中的文件在特定的环境(例如,在生产中,例如只有沉默。)
或为特定的代码段,它括在块:
ActiveSupport::Deprecation.silence do
# no warnings for any use of deprecated methods here
end
这适用于两个轨道3 & 4.
既工作又好吃,谢谢:) – sfusion 2010-04-22 13:44:10
我也有一些很棒的黑色胶带可以放在你的发动机机油灯上;) – 2013-12-19 01:22:43
瑞安英对照精华文章写了一篇关于这方面的文章,其中他还展示了如何拦截弃用警告和做别的事情有了它,喜欢它发送到日志文件:
ActiveSupport::Deprecation.behavior = Proc.new { |msg, stack| MyLogger.warn(msg) }
http://ryandaigle.com/articles/2006/12/4/how-to-turn-deprecation-warnings-off-in-rails
接受的答案并没有为我使用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 – 2014-03-13 18:40:36
是否要在选定的代码块中使所有**弃用警告或仅警告? – mikej 2010-04-22 09:52:39
最好只是我知道的代码段是安全的,但无论哪种方式,如果我可以切换它只是为了削减一些日志噪音。 – sfusion 2010-04-22 12:46:02