gpt4 book ai didi

ruby-on-rails - 设计:从用户模型中获取和设置语言环境

转载 作者:行者123 更新时间:2023-12-05 09:24:21 25 4
gpt4 key购买 nike

我为用户表中的每个用户设置了语言环境。我关注了这些 instructions在用户登录后获取语言环境。它一直有效,直到用户重新加载浏览器,然后标准语言环境 (en) 再次激活。如何在 session 中保留 user.locale 的值?我正在使用 Rails_Admin,这意味着虽然我有一个用户模型,但我没有用户模型的 Controller 。

 # 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

最佳答案

虽然将它放在 session 中是一个有效的答案,但您可以使用 current_user 方法来获取用户的区域设置(并使您的 session 更清晰)

class ApplicationController < ActionController::Base
protect_from_forgery
before_filter :set_locale # get locale directly from the user model

def set_locale
I18n.locale = user_signed_in? ? current_user.locale.to_sym : I18n.default_locale
end
end

关于ruby-on-rails - 设计:从用户模型中获取和设置语言环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12981119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com