Tag: RoR

Rails 3.0.1 na 3.0.2 i I18n oraz problemy z modułami

Przechodząc z Rails 3.0.1 na 3.0.2 umknęła mi jedna rzecz. Nikt nigdzie nie wspomniał o tym, że zmianie ulega sposób budowania tłumaczeń dla I18n.

O ile zmiana na pola defaultowe, jest całkiem fajna (a i tak ją stosowałem dawniej, przy pomocy pewnego "hacka" ;) ), o tyle zmiany odnośnie klas w modułach, przyprawiły mnie o 25 minutowe wkurzenie.

Zanim jednak do tego przejdziemy, wspomnę o tej fajniejszej zmianie. Otóż dawniej, kiedy chcieliśmy przetłumaczyć nazwy atrybutów z różnych modeli, musieliśmy (stosowanie tricków się nie liczy) wypisywać wszystkie atrybuty dla wszystkich modeli. Kończyło się to sytuację gdzie np. pole "Imię" dla modeli User i Admin było tłumaczone tak:

activerecord:
    models:
      user: Użyszkodnik
      admin: Bóg
    attributes:
      user:
         name: Imię
      admin:
         name: Imię

było to trochę niewygodne. W nowym I18n, możemy zrobić to tak:

attributes:
   name: Imię

Oczywiście jeśli mamy model gdzie "name" to np. nazwa firmy, możemy wciąż dla tego wyjątku, dopisać całość w węźle Activerecord.

Druga zmiana też jest dobra, jednak trochę niespodziewana (a przynajmniej niezapowiedziana). Dawniej, polonizując modele w modułach, robiło się to tak(przykład dla klasy Profile::Admin):

activerecord:
    models:
      "profile/base": Profil
    attributes:
      "profile/admin":
        views: Ilość odwiedzin
        name: Imię
        surname: Nazwisko
        city: Miasto

jak widać powyżej, kiedy mieliśmy do czynienia z klasą w module, postępowaliśmy wg. schematu: moduł/model.

Nadeszło nowe i lepsze (ale cholerka, mogli powiadomić!). Od teraz moduł będzie stanowił gałąź-rodzica w pliku translacji, tak jak w poniższym przykładzie:

activerecord:
    models:
      profile:
         base: Profil
    attributes:
      profile:
         admin:
           views: Ilość odwiedzin
           name: Imię
           surname: Nazwisko
           city: Miasto

Takie zagnieżdżanie jest dużo wygodniejsze :)

Ruby i Ruby on Rails – polecane i niepolecane książki

Będąc ostatnio w księgarni, napotkałem na sytuację, gdy pewien pan chciał kupić jakąś książkę o Rubym i Ruby on Rails.

Nie byłoby w tym nic strasznego gdyby nie to, że pan ten nie miał zielonego pojęcia o RoRze. Implikuje to fakt nieznajomości różnic chociażby między 2.3 a 3.0, nie mówiąc już o 1.* a 2.*.

Problem ten wbrew pozorom wcale nie jest taki błahy. Część z Was na pewno spotkała się z sytuacją, jak to fajnie uczyć się programować w Rails 2 z książkami z Rails 1 ;) O ile w przypadku przejścia z 2.3.* na 3.0.* nie jest tak źle, o tyle późniejszy przeskok o dwie gałęzie wcale nie będzie taki miły.

Z tego względu postanowiłem opisać tutaj te książki do Rubiego i Railsów które miałem bądź mam. Może dzięki temu nie wyrzucicie pieniędzy w błoto.

Pozycje są uporządkowane tak jak u mnie na półce (czyli prawie że losowo). Proszę się nie sugerować kolejnością.

  • Agile Web Development with Rails 3rd Edition - wydań starszych nie warto kupować. Opisuje Rails 2. Jest to taki "must have". Większość osób jakie znam, zaczynała przygodę z Railsami właśnie od tej pozycji. Dobrze napisana, wygodna w czytaniu. Dodatkowo poznając 2.* będzie nam stosunkowo łatwo przejść na 3.0.* (przynajmniej teraz, kiedy 3 jest młoda).
  • Agile. Programowanie w Rails. Wydanie II - nie warto. Bardzo nieaktualne. Traktuje o Rails 1.2 i z tego względu już się nie nadaje do nauki. No chyba że chcemy przejść całą ścieżkę od Rails1 do Rails3.
  • RailsSpace - Tworzenie Społecznościowych Serwisów Internetowych w Ruby on Rails - całkiem fajna, jakby nie to, że też opisuje 1.2. Parę fajnych rozwiązań, jednak na obecną chwilę jest to strata pieniędzy. Zawiera opisy integracji Railsów z różnymi gemami których już się nie używa, bądź używa inaczej niż dawniej.
  • Ruby On Rails - Od podstaw - Bardzo dobre i przystępne wprowadzenie do samego Rubiego. Dalej już jest gorzej. Książka traktuje o wersji 1.1.2, tak więc do 3.0.1 długa droga ;) Niemniej jednak, jeśli ktoś szuka także w miarę prostego i szybkiego wprowadzenia do Rubiego, to pierwsze 114 stron z pewnością się mu przydadzą.
  • Rails - Sztuka programowania - Bardzo dobra książka, jednak nie dla początkujących "Railsiarzy". Opisuje wiele aspektów bardziej zaawansowanych, jak np. TDD, metaprogramowanie czy też małpie łatanie. Książka wydana stosunkowo niedawno (2009 rok). Opisuje Rails 2. Dobra dla osób które znają podstawy Rubiego i Railsów. Na start nie nadaje się kompletnie.
  • Rails - Receptury. Dobre na stare czasy. Opisuje Rails 1.2 przez co dużo receptur jest nieprzydatnych. Nie polecam, chyba że pracujemy z softwarem wydanym pod 1.2. Z racji swojego charakteru (receptury), kompletnie nie nadaje się do nauki od podstaw.
  • Rails - Przepisy. Bezużyteczna. Rails 1.0 i kilka przepisów z 1.1. Lepiej omijać. Ktoś zaawansowany wyciągnie z niej niektóre przepisy i spokojnie sprawi by działały w 3.0, jednak moim zdaniem jest to gra niewarta świeczki.
  • Ruby - Receptury. W odróżnieniu od poprzednich pozycji, ta książka traktuje głównie o Rubym. Tylko trochę receptur jest dla Railsów. Jeśli chodzi o Railsy to 1.1. Mimo to, jest to kolejny "must have" programisty pracującego w Rubym i Railsach. Rozwiązania dotyczącego Rubiego są wciąż kompatybilne (i bardzo przydatne). Polecam.
  • Programowanie w języku Ruby. Wydanie II - gruuba dobra książka. Wprawdzie traktuje o Rybm 1.8, ale bez wątpienia jest bardzo przydatna. Około 1100 stron wiedzy. Każdy kto myśli na poważnie o programowaniu w Rubym powinien się z nią zapoznać.

To by było na tyle, jeśli chodzi o książki z którymi ja miałem i mam styczność. Naprawdę radzę zwracać uwagę na to jaką wersję frameworka Rails opisuje dana książka. Pozycje z gałęzi 1.* radzę omijać szerokim łukiem.

Copyright © 2025 Closer to Code

Theme by Anders NorenUp ↑