Ruby posiada fantastyczną cechę jaką jest możliwość odmiany rzeczowników i na ich podstawie automatycznego tworzenia nazw tabel oraz kontrolerów. Niestety własność ta działa standardowo tylko dla języka angielskiego. Jeżeli chcemy jednak aby w naszym projekcie była możliwość posługiwania się nazwami polskimi możemy dodać nowe reguły do railsa, które umożliwią mu odmianę polskich wyrazów.
Sprawa odmiany wydaje się w railsie 2.0.2 dość trywialna. Wystarczy dodać do pliku config/initializers/inflections.rb kilka linijek. Pamiętajmy jednak, że rails do prawidłowego działania potrzebuje poprawnie zdefiniowane reguły dla języka angielskiego dlatego nie usuwajmy tych reguł metodą clear :all.
Nowe polskie rzeczowniki możemy dodawać jako rzeczowniki nieregularne i w takim przypadku rails nie protestuje i wszystkie inne funkcjonalności powinny działać poprawnie wpisujemy więc:
Inflector.inflections do |inflect|
inflect.irregular 'konto', 'konta'
end
I wywolujac "script/generate model Konto uzytkownik:string haslo:string", a następnie "rake db:migrate" w naszej bazie danych powstanie tabela konta.
Problem pojawi się jeżeli będziemy chcieli użyć naszych rzeczowników w metodzie scaffold. Domyślnie nie są generowane odpowiednie ścieżki routingu dlatego musimy to naprawić wpisując:
rake routes
Od teraz możemy cieszyć się polskimi nazwami w railsie.
Tuesday, March 18, 2008
Ruby on Rails 2.0.2 i inflections (polski pluralize)
Etykiety:
ruby on rails
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment