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.