Я думаю, что на подобной странице это невозможно, но для другой страницы это возможно.
Эффективный способ установки языка - добавить его в качестве префикса к URL. Это позволяет поисковым системам лучше управлять версиями на разных языках. Предположим, если мы хотим, чтобы localhost: 3000 / de отображал немецкую версию нашей домашней страницы, а localhost: 3000 / en - английскую версию. Нам нужно написать в config / rout.rb
myapp::Application.routes.draw do
scope "(:locale)", :locale => /en|de/ do
root :to => 'page#index'
get "page/index"
end
end
Далее нам нужно установить before_filter в app / controllers / application_controller.rb. Этот фильтр устанавливает локаль параметра, заданную маршрутом, как I18n.locale:
class ApplicationController < ActionController::Base
protect_from_forgery
before_filter :set_locale
private
def set_locale
I18n.locale = params[:locale] || I18n.default_locale
end
end