Rails 4设置default_timezone

时间:2014-12-11 10:39:31

标签: ruby-on-rails

我可以在gmt + n中设置默认时区,或类似的东西吗?现在我有

  class Application < Rails::Application
  config.active_record.default_timezone = 'Kyiv'   # "Europe/Kiev"

然后返回

  can't convert nil into an exact number

调用time方法时(我也重启了我的服务器)。

3 个答案:

答案 0 :(得分:0)

您可能正在设置无效值。

致电ActiveSupport::TimeZone.zones_map并查看返回值。您将找到所有支持的时区名称。

答案 1 :(得分:0)

我不知道这是否正确。

class ApplicationController < ApplicationController :: Base

before_filter :set_time_zone

def set_time_zone
  Time.zone = "kyiv"
end

答案 2 :(得分:0)

这是我的配置,但请注意我希望应用程序在(巴西时间)运行的时区与应用程序所在的时区不同(Heroku时间,这是其他的)。

  class Application < Rails::Application

    config.time_zone = 'Brasilia'
    # config.active_record.default_timezone = 'Brasilia'

    # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
    #config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
    config.i18n.available_locales = [:en, :"pt_BR"]
    config.i18n.locale = [:"pt_BR"]
    config.i18n.default_locale = :"pt_BR"

 end