Ruby on Rails 3:在特定路由上设置固定语言环境

4
我在我的本地化网站(3种语言)上安装了rails_admin gem,我希望管理区域(/admin)始终为英文。有什么想法吗?也许我可以强制路由的语言环境? 谢谢。
1个回答

8

我没有使用过rails_admin,但是快速浏览一下它的仓库会发现它使用的是在你的应用程序中设置的语言环境。我猜测你是通过Rails i18n指南中所述的方法之一,在application.rb中的before_filter中设置的。你需要让这个before_filter变得更加聪明。也许可以尝试以下代码:

if self.kind_of? RailsAdmin::ApplicationController
  I18n.locale = :en
else
  # Your current code
end

1
类似这样:如果是RailsAdmin::ApplicationController,那么I18n.locale = :en。只是想到可能有更好的解决方案。谢谢。 - Daniel
也许 rails_admin 的开发人员会接受一个补丁,允许你在他们的配置中设置这个?我同意检查类是棘手的! :) - chrismcg
问题是,在返回主应用程序后如何恢复旧的区域设置。 - Jacka

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接