我一直非常舒服地使用resque,但是对于以下场景
在我的一个执行方法
中class A < ActiveRecord::Base
def self.perform
B.something
end
end
class B < ActiveRecord::Base
def self.something
l = Misc.get_locale
....
....
end
end
class Misc
def self.get_locale
return I18n.locale
end
end
问题是它始终将I18n.locale作为:en 返回,即使在我的应用程序配置中,我已将其设置为:us_en (或其他),如下所示
config.i18n.default_locale = :us_en
config.i18n.locale = :us_en
是因为我正在从类中读取I18n.locale而不是rails模型吗? 还是因为其他原因?
答案 0 :(得分:0)
我认为resque更有可能没有读取你的rails配置。
你可以尝试在初始化程序中设置它(我相信应该阅读)。
config/initalizers/i18n.rb
:
I18n.default_locale = 'en-US'
I18n.locale = 'en-US'
作为旁注,语言代码首先出现在用于识别语言的bcp47标准中的区域代码之前(虽然我只是肛门!)。