Rails 3で非推奨の警告を消す方法を教えてもらえますか?
誤検知が発生する状況がいくつかあります。つまり、dynamic_formプラグインからのhamlおよびf.error_messagesの-forループを使用します。
ありがとう
Rails 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
これは、Rails3と4の両方で機能します。
受け入れられた答えは、Rails3.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!
Ryan Daigleはこれに関する記事を書きました。この記事では、非推奨の警告を傍受し、ログファイルに送信するなど、他の方法を実行する方法も示しました。
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