Witam.
Napotkałem na problem w Rails 3.0.3 który występuje gdy aplikację uruchomię przez nginx+passenger a nie występuje jak uruchomię webricka.
Problem polega na tym że jeśli dam w modelu
To przy wyświetleniu błędu dostaję komunikat że nie ma zdefiniowanych takich tłumaczeń i co ciekawe z przedrostkiem en a lokalizacje mam ustawioną na pl.
albo
JAKASSTALA = I18n.t("login.blad")
Jeśli w widoku próbuję wyświetlić JAKASSTALA to dostaje translation missing: ale jak dodam metodę
def self.jakasstala
I18n.t("login.blad")
end
i wywołam w widoku to tłumaczenie jest i poprawnie jest wyświetlane.
Spotkał się ktoś z czymś takim wcześniej i ma jakiś pomysł?
To nie zadziała, ponieważ (ja to tak rozumiem) stałe muszą mieć wartość nadaną w momencie odpalania kodu. Wybór języka następuje pozniej więc i18n nie wie dla jakiego jezyka chcesz tłumaczenie.
[quote=zajac]W teorii tak ale praktyczny przykład był twój.
Ale swoją drogą to ciekawe dlaczego na webricku to działa?[/quote]
A na webricku odpalałeś w trybie development? Jeżeli tak, to w development modele są ładowane tylko jeżeli są potrzebne, więc pewnie plik z modelem wczytywał się już po załadowaniu tłumaczeń.