Odświeżanie :locale poza <%= yield %>

Nie wiem, czy tytuł dobry, może nie w tym tkwi problem.

Zrobiłem lokalizację za pomocą I18n, 3 przyciski ustawiające odpowiednią wartość :locale.
Strona prawidłowo się odświeża i przełącza język i trzyma wartość :locale, ale tylko tego, co siedzi w <%= yield %>

W application.html.erb w ale przed <%= yield %> mam całą nawigację po stronie, też przerobioną na mechanizm I18n.
Tam właśnie są umieszczone przyciski do zmiany wartości :locale.
No i właśnie ona mi się nie przestawia na nową wartość :locale.
Pomaga dopiero odświeżenie przyciskiem “odśwież” w przeglądarce, albo wywołanie kilku akcji w obrębie <%= yield %>, wtedy prawdopodobnie cała strona ulega odświeżeniu.
Jeśli tego nie zrobię, nawigacja jest świetlana ze starą wartością :locale, mało tego, zapamiętuje starą wartość :locale i kliknięcie jakiegokolwiek linku z jej poziomu na powrót przestawia wartość :locale w <%= yield %> na tę starą z nawigacji.
Może problem tkwi w routes.rb, ale mam tam w tej chwili kloakę i nie chciałbym tego (ze wstydu) tutaj pokazywać.

Czy może mieć wpływ na to, że domyślnie nawigacja jest ukryta i wywoływana dopiero za pomocą javascriptu za pomocą przycisku?
Jedyne co mam inaczej w porównaniu ze wszystkimi przykładami, które oglądałem w sieci i guides, to wyciągnięty

root :to => “blog#index”, as: ‘blog’

poza

scopes “:locale” do

Gdy trzymałem to w środku, aplikacje nie potrafiła w żaden sposób odnaleźć rutingu do “/”

Najchętniej to był wymusił po zmianie przyciskiem :locale dodatkowe odświeżenie całej strony, tylko jak?
Wiem, ze to nie jest rozwiązanie, ale na pewien czas takie obejście problemu by mnie satysfakcjonowało.
Od kilku godzin się z tym morduję i skończyły mi się pomysły.

Gdzie trzymasz to :locale? To jest zmienna dołączana do adresu, cookie?

Do adresu, dodaje przed url’em /:locale/, czyli /de/ albo /pl/ albo /en/ w moim przypadku.
Generalnie to działa, o ile wywołuję kontrolery z poziomu tego co siedzi w <%= yield %>, jeśli próbuję wywołać cokolwiek z nawigacji (przed odświeżeniem całej strony) to znów wraca na starą wartość :locale

Dobra, mam błąd w składni przełącznika opartego na przyciskach, tyle, że nie wiem jeszcze jaki. Przerobiłem to na wybieralne menu z użyciem js i przekierowaniem do "/" i działa teraz poprawnie. Chyba, że ktoś ma ochotę podać gotowe rozwiązanie na przełącznik oparty na image_tag. Nie mam pojęcia, dlaczego moje przyciski nie odświeżają całej strony, mechanizm I18n powinien to robić automatycznie. Działa połowicznie, czyli źle.