【发布时间】:2016-10-28 15:14:22
【问题描述】:
我应该向哪个初始化文件添加所需的代码行? 我收到以下弃用警告。
弃用警告:在 Rails 5.1 中,时间列将成为时区感知。这仍然会导致 Strings 被解析为好像它们在 Time.zone 中一样,
和Times 被转换为Time.zone。
要保持旧行为,您必须在初始化程序中添加以下内容:
config.active_record.time_zone_aware_types = [:datetime]
要消除此弃用警告,请添加以下内容:
config.active_record.time_zone_aware_types = [:datetime, :time]
我是 Rails 新手,我只想遵循最佳实践。谢谢!
【问题讨论】:
-
如果您转到
config/environments/development.rb或config/application.rb,您会发现您可以访问config对象,您可以将该行添加到任何这些文件中。如果您希望它适用于您的所有环境,请将其放入application.rb。 -
完美!我把代码放在 application.rb
-
错误消息显示
To keep the old behavior, you must add the following to your INITIALIZER。我尝试通过向其添加以下内容Rails.application.config.active_record.time_zone_aware_types = [:datetime, :time]将其添加到初始化程序/config/initializers/time_zone_aware_types.rb,但奇怪的是它没有工作。最终,我最终将相同的内容添加到/config/application.rb并且它起作用了。警告消息应该被修复,或者应该清楚地传达应该去的文件名
标签: ruby-on-rails