如何在Production中重新加载语言文件?
I18n.backend.reload!
此方法不起作用。
(尝试通过网址重新加载,附加到此操作)
答案 0 :(得分:3)
您可以使用以下方式重新加载语言文件而无需重新加载应用程序服务器:
I18n.backend.load_translations
答案 1 :(得分:0)
Engine Yard api的简单示例。 (gem“engineyard”,gem“engineyard-metadata”) 请求进入延迟作业队列。
def reload_on_all_instances!
@ey_instances = EY.metadata.app_servers || raise(InvalidServerList)
if @ey_instances
@ey_instances.each_with_index do |instance_url, index|
request_url = "http://#{instance_url}/reload_translations/reload"
Delayed::Job.enqueue(RequestReloadLocale.new(request_url), :run_at => 1.minutes.from_now )
Delayed::Job.enqueue(ClearCache.new, :run_at => 2.minutes.from_now )
end
true
else
false
end
end