我为用户表中的每个用户设置区域设置。我遵循这些instructions以在用户登录后获取语言环境。它一直运行,直到用户重新加载浏览器,然后标准语言环境(en)再次变为活动状态。我如何在会话中保留user.locale的值?我正在使用Rails_Admin,这意味着虽然我有一个用户模型,但我没有用户模型的控制器。设计:从用户模型获取并设置区域设置
# ApplicationController
def after_sign_in_path_for(resource_or_scope)
if resource_or_scope.is_a?(User) && resource_or_scope.locale != I18n.locale
I18n.locale = resource_or_scope.locale
end
super
end
的效果好很多,感谢 – migu
需要注意的是,如果你有邮寄或需要的语言环境来请求/响应周期之外进行设置,你”除了ApplicationController之外,还需要设置语言环境。 –