我设置了类似
的语言环境的default_url_options def default_url_options
{
locale: I18n.locale,
}
end
但在一种情况下,我想redirect_to something_url
而不添加?locale=en
目前direct_to会自动添加像http://localhost/something?locale=en这样的语言环境 我想删除locale params
答案 0 :(得分:1)
您可以通过在网址助手中明确将其设置为nil
来阻止添加默认网址选项:
redirect_to something_url(locale: nil)
答案 1 :(得分:0)
如果en
是您可以执行的默认语言环境:
def default_url_options
{}.tap do |options|
if I18n.locale != I18n.default_locale
options[:locale] = I18n.locale
end
end
end
答案 2 :(得分:0)
在上面的代码段中,只需添加
即可def default_url_options
I18n.locale = (url == something_url) ? nil : I18n.default_locale
{
locale: I18n.locale
}
end
此处需要根据您的应用添加url和something_url。
希望这适用于你的情况。