我正在成功使用i18n和Rails,但是当我在网址中传递参数时i18n停止工作并且似乎回退到英语。我的表单标签切换回英语而不是荷兰语。我怎样才能防止这种情况发生?
相关专栏:
config.i18n.default_locale = :nl
config.i18n.locale = :nl
示例网址:
#/users?param1=abc
localized do
resources :users
end
答案 0 :(得分:0)
如果您在URL中提供区域设置(我无法通过您提供的信息提供),那么您可以通过使用这样的代码段覆盖默认的URL选项,确保它始终传递给URL帮助程序在您的应用程序控制器中:
def default_url_options(options={})
{ :locale => I18n.locale }
end
通过http://guides.rubyonrails.org/i18n.html#setting-the-locale-from-the-url-params
答案 1 :(得分:0)
在导轨中使用:
# config/routes.rb
scope "/:locale" do
resources :books
end
设置区域设置:
before_filter :set_current_locale
private
def set_current_locale
I18n.locale = params[:locale]
end