Я следил за этим beautiful site, чтобы создать интернационализацию на моем сайте.rails 3.1 Перезагрузите страницу с другой локалью?
Однако я не могу понять, как перезагрузить страницу с другим языком, когда пользователь нажимает кнопку языка.
Пример: Если пользователь находится здесь:
/es/events/14
, когда пользователь нажимает на английский язык перезарядку в
/en/events/14
Это мнение:
%li= link_to "eu", change_locale_path(:locale => "eu")
%li= link_to "es", change_locale_path(:locale => "es")
%li= link_to "en", change_locale_path(:locale => "en")
%li= link_to "fr", change_locale_path(:locale => "fr")
Этот метод в ApplicationController
def change_locale
if current_user
current_user.locale = params[:locale]
current_user.save
else
I18n.locale = params[:locale]
end
redirect_to root_url (this is temporal)
end
Что мне нужно вместо redirect_to root_url для перезагрузки страницы?
вы можете вернуться к предыдущей странице, см http://stackoverflow.com/questions/4652084/ruby-on-rails-how-do-you-get-the-previous-url/ 8801313 # 8801313 – gayavat
Я пробовал это раньше, но, насколько я помню, загружает страницу со старым языком, потому что локаль находится в URL-адресе –
. Попробуйте проанализировать URL-адрес и изменить параметры [: locale], см. Http: // stackoverflow. com/questions/916067/how-do-i-easy-parse-a-url-with-parameters-in-a-rails-test – gayavat