更改I18n转换时如何避免重新启动服务器?

cro*_*don 5 ruby-on-rails internationalization

我有一个Rails 4应用程序,正在尝试使用I18n-active_record后端输入翻译内容。

一切似乎都可以正常工作,但是在添加或更改其中一种翻译后,需要重新启动服务器,才能在视图中显示更新的翻译。

如何配置应用程序,以使视图中显示的翻译始终在数据库中获取最新信息,而不必重新启动服务器?

我可以在我的控制器中执行此操作:

 if @translation.update(translation_params)
    I18n.backend.reload!
    redirect_to translations_url
 else
    render :edit, alert: 'There was a problem:'
 end
Run Code Online (Sandbox Code Playgroud)

但是,有没有一种“清洁”的方法呢?

小智 0

您的解决方案对我来说似乎很好,因为似乎没有任何方法可以仅重新加载更新的翻译密钥(我认为这是最好的解决方案)。

I18n.cache_store.clear如果您启用了 i18n 缓存,则可以在更新翻译时清除它。