Rails i18n передает параметр URL - PullRequest
0 голосов
/ 06 июля 2011

Я успешно использую i18n с Rails, но когда я передаю параметр в URL, i18n перестает работать и, похоже, возвращается к английскому. Мои метки формы переключаются обратно на английский вместо голландского. Как я могу предотвратить это?

Соответствующие строки:

config.i18n.default_locale = :nl
config.i18n.locale = :nl

Пример URL:

#/users?param1=abc

localized do
  resources :users
end

Ответы [ 2 ]

0 голосов
/ 17 мая 2013

Использовать как в направляющих рельсов:

# config/routes.rb
scope "/:locale" do
  resources :books
end

Установить локаль:

before_filter :set_current_locale

private
def set_current_locale
  I18n.locale = params[:locale]
end
0 голосов
/ 06 июля 2011

Если вы указываете локаль в 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...