2016-10-28 5 views
5

どのイニシャライザファイルに目的のコード行を追加する必要がありますか? 次の非推奨の警告が表示されます。Rails 5の廃止予定の警告と初期化子へのコードの追加?

駆除警告:Rails 5.1では、タイムカラムがタイムゾーンに認識されます。これにより、Stringは、あたかもTime.zone、 、Timeであるかのように解析され、Time.zoneに変換されます。

あなたの初期化に以下を追加する必要があり、以前の動作を維持するために:

config.active_record.time_zone_aware_types = [:datetime] 

以下を追加し、この非推奨の警告を消すには:

config.active_record.time_zone_aware_types = [:datetime, :time] 

私はレールの初心者だけど、私はベストプラクティスに従いたい。ありがとう!

+3

を次の行を追加しますどちらか ' config/environments/development.rb'または 'config/application.rb'を実行すると、' config'オブジェクトにアクセスできることがわかります。その行をそれらのファイルに追加することができます。すべての環境で動作させたい場合は、 'application.rb'に入れてください。 – fanta

+0

パーフェクト!私はapplication.rbの中にコードを入れます。 – Dan

+0

エラーメッセージに '古い動作を維持するには、あなたのINITIALIZERに次の行を追加する必要があります。 'Rails.application.config.active_record.time_zone_aware_types = [:datetime、:time]'というコンテンツを追加して初期化子 '/ config/initializers/time_zone_aware_types.rb'に追加しようとしましたが、それはうまく動作しませんでした。最終的に私は '/ config/application.rb'に同じ内容を追加してしまいました。警告メッセージを修正するか、これを行うファイル名を明確に伝えてください –

答えて

6

class Application < Rails::Application内部config/application.rbに次の行を追加します

config.active_record.time_zone_aware_types = [:datetime, :time] 
1

はファイル/config/initializers/time_zone_aware_types.rb を作成するには、に行く場合は、ファイルに Rails.application.config.active_record.time_zone_aware_types = [:datetime, :time]

関連する問題