W ostatni weekend przegryzłem książkę Obie Fernadeza Rails 3 Way. Chciałbym napisać kilka słów na temat tej pozycji.

Przyznam szczerze, czekałem z niecierpliwością na to wydanie. Pierwsza
edycja miała bardzo dobre recenzje więc mogłem się domyślić czego się
spodziewać. Czekałem także z tej przyczyny, że książka ta jest jedną z
nielicznych typu Reference Book. Większość pozycji omawiających Rails 3
czy rails 2 to książki tutorialowe, gdzie wykonujemy poszczególne
zadania przez całą książkę a na koniec otrzymujemy gotową aplikację.
W tej książce jest inaczej.

Rails 3 Way opisuje dokładnie framework Rails 3. W kolejnych rozdziałach
poznajemy poszczególne jego elementy.
Na początku autor opisuje Bundler i zasadę uruchamiania aplikacji.
Znajdujemy tu opis poszczególnych elementów startowych – application.rb,
pliki konfiguracji środowisk, initializery itp.
Poznajemy routing i zasady działania kontrolerów wraz ze sposobem działania filtrów. Dokładnie opisane modele – przeczytamy jak działa
relacja Modelu z bazą danych, cykl życia modelu i callbacki.
Można przeczytać o migracjach i konfiguracji kilku baz danych. Opisane są
także Observery i walidatory. Nauczymy się także tworzyć własny
walidator dla modeli. Następnie znajdziemy opisy Mailerów i poznamy jak
konfigurować połączenie naszej aplikacji z kontem pocztowym. Nauczymy
się jak wysyłać i odbierać maile. Ajax i zarządzanie sesją także
znalazły tutaj swoje miejsce.
Opisane także są widoki i layouty, jak z nich korzystać, jakie są
relacje pomiędzy widokiem i kontolerem. Znajdziemy tu także opis
Helperów.
Fajnie jest opisany sposób na Cacheowanie aplikacji i jak ją rozszerzać
za pomocą pluginów.

Co więcej, autor także postarał się opisać elementy, które nie są bezpośrednio związane z railsami, ale
tworzenie webaplikacji bez nich się nie obejdzie. Przykładem jest tu
autoryzacja – sam framework nie posiada narzędzi autoryzujących sam w
sobie. Musimy skorzystać z oddzielnych gemów. Autor opisuje w książce
dwa najpopularniejsze: Authlogic i
Devise.

Oprócz gemów do autoryzacji autor pokusił się także o opisanie gemów do
wykonywania zadań w tle i gemów do uploadu plików. Jeden rozdział został
także poświęcony RSpec jako alternatywy dla TestUnit.

Na końcu jest opis API, przynajmniej jego najważniejszych elementów.

Zawartość książki opisuje zatem każdy z elementów powstawania
aplikacji. Znalazłem tutaj nawet kilka rzeczy, o których nie miałem
pojęcia.

Szczerzę polecam tą książkę każdemu, zarówno początkującym programistom
jak i bardziej zaawansowanym. Przeczytanie tej książki pozwoli nam na
zrozumienie „jak to właściewie działa”. Fajnie jest ją mieć pod ręką.
Jak będziemy chcieli kiedyś przypomnieć sobie dany element wystarczy po
nią sięgnąć.

Miłej lektury.
.