Ruby on Rails Wprowadzenie.pdf

(342 KB) Pobierz
Ruby on Rails. Wprowadzenie
IDZ DO
PRZYK£ADOW Y ROZDZIA£
Ruby on Rails.
SPIS TREœCI
Wprowadzenie
KATALOG KSI¥¯EK
Autorzy: Bruce A. Tate, Curt Hibbs
T³umaczenie: S³awomir Dzieniszewski
ISBN: 83-246-0820-6
Format: B5, stron: 184
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
Twórz profesjonalne aplikacje internetowe, wykorzystuj¹c najnowsze rozwi¹zania
Poznaj mechanizm Active Rekord
Skorzystaj z technologii Ajax
Przetestuj aplikacje
W dobie dynamicznego rozwoju sieci i rosn¹cych oczekiwañ u¿ytkowników aplikacji
internetowych wzrasta znaczenie szybkoœci ich tworzenia. Jednym ze sposobów
przyspieszenia tego procesu jest korzystanie z gotowych rozwi¹zañ, innym —
zastosowanie mechanizmów, dziêki którym programista mo¿e skoncentrowaæ siê
na opracowywaniu funkcjonalnoœci aplikacji. Jednym z takich mechanizmów jest
zdobywaj¹cy coraz wiêksz¹ popularnoœæ Ruby on Rails. To po³¹czenie nowoczesnego
jêzyka programowania Ruby z bibliotek¹ Rails umo¿liwia b³yskawiczne tworzenie
aplikacji internetowych niemal dowolnego typu.
„Ruby on Rails. Wprowadzenie” to podrêcznik, dziêki któremu zdobêdziesz wiedzê
niezbêdn¹ do tego, aby szybko budowaæ wydajne aplikacje w technologii Ruby on Rails.
Omówiono w nim wszystkie elementy tworzenia oprogramowania internetowego —
po³¹czenia z bazami danych, szkielet aplikacji, interfejsy u¿ytkownika oraz testowanie.
Znajdziesz tu równie¿ leksykon elementów biblioteki Rails oraz informacje
o instalowaniu i konfigurowaniu omawianego œrodowiska, obs³udze formularzy HTML
i zarz¹dzaniu sesjami. W kolejnych rozdzia³ach opisano etapy tworzenia internetowej
galerii fotografii, dziêki czemu poznasz Ruby on Rails na praktycznym przyk³adzie.
Uruchamianie biblioteki Rails
Tworzenie kontrolera i wyœwietlanie widoku
Po³¹czenia z bazami danych za pomoc¹ Active Record
Relacje w Active Record
Tworzenie rusztowania i korzystanie z niego
Definiowanie widoków
Implementacja mechanizmów Ajaksa
Testowanie gotowej aplikacji
Jeœli chcesz szybko opanowaæ podstawy korzystania z Ruby on Rails,
koniecznie siêgnij po tê ksi¹¿kê
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ONOWOœCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Koœciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
400258668.004.png 400258668.005.png 400258668.006.png 400258668.007.png
Spis treści
Przedmowa .....................................................................................................................5
1. Zaczynamy — wprowadzenie do Rails .........................................................................9
Zalety Rails
10
Uruchamianie Rails
12
Organizacja Rails
13
Serwer WWW
15
Tworzenie kontrolera
18
Budowanie widoku
21
Wiązanie kontrolera z widokiem
23
Co się dzieje za kulisami
26
Co dalej
26
2. Podstawy Active Record ............................................................................................... 27
Podstawy mechanizmu Active Record
27
Tworzymy aplikację do dzielenia się fotografiami
30
Migrowanie schematów
32
Podstawowe klasy Active Record
34
Atrybuty
36
Klasy złożone
39
Zachowania
43
W kolejnym rozdziale
45
3. Relacje w Active Record ...............................................................................................47
belongs_to
48
has_many
51
has_one
52
O czym nie powiedzieliśmy
63
Wybiegając w przyszłość
64
3
400258668.001.png
4. Rusztowania .................................................................................................................65
Korzystanie z rusztowania
65
Zastępowanie rusztowania
68
Generowanie kodu rusztowania
71
W następnym rozdziale
75
5. Rozbudowywanie widoków ........................................................................................ 77
Obraz całości
77
Oglądanie rzeczywistych fotografii
79
Szablony widoków
80
Określanie domyślnej strony głównej
86
Arkusze stylów
87
Hierarchiczne kategorie
90
Określanie stylów dla pokazów slajdów
95
6. Ajax .............................................................................................................................. 103
W jaki sposób Rails implementuje Ajax
103
Odtwarzanie pokazów slajdów
104
Zmienianie porządku slajdów metodą przeciągnij i upuść
107
Przeciąganie i upuszczanie wszystkiego (lub prawie wszystkiego)
111
Filtrowanie według kategorii
119
7. Testowanie .................................................................................................................. 123
Słowo wprowadzenia
123
Mechanizm Test::Unit języka Ruby
124
Testowanie w środowisku Rails
126
Podsumowując
138
A Instalowanie Rails ....................................................................................................... 139
B Krótki leksykon Rails ................................................................................................... 145
Skorowidz .................................................................................................................... 175
4 |
Spis treści
ROZDZIAŁ 1.
Zaczynamy — wprowadzenie do Rails
System Rails jest prawdopodobnie jednym z najważniejszych rozpoczętych w ciągu ostatnich
10 lat projektów otwartego kodu źródłowego (ang. open source ). Promowany jest jako jeden
z najwygodniejszych i najbardziej efektywnych środowisk programowania dla sieci WWW
i — co ważniejsze — oparty jest na coraz bardziej popularnym języku Ruby. Przypomnijmy
pokrótce, co się działo do tej pory:
Do grudnia 2006 roku pojawi się zapewne więcej książek na temat Rails niż na temat któ-
regokolwiek z popularnych środowisk programowania w języku Java takich jak JSF,
Spring czy Hibernate.
Według danych z maja 2006 r. środowisko Rails w ciągu poprzedzających tę datę 12 mie-
sięcy ściągano z poświęconej mu witryny ponad 500 000 razy. Są to dane porównywalne
z tymi, które dotyczą większości najbardziej popularnych środowisk programowania dla
innych języków, rozpowszechnionych na zasadzie otwartego kodu źródłowego 1 .
Na listach dyskusyjnych społeczności użytkowników Rails pojawiają się setki nowych
wpisów dziennie, podczas gdy dla porównania na grupach dyskusyjnych związanych
z innymi środowiskami programowania pojawia się każdego dnia zazwyczaj około kil-
kudziesięciu wiadomości.
Środowisko programowania Rails spowodowało eksplozję popularności języka Ruby,
który do tej pory był raczej mało znany.
Rosnąca popularność Rails jest źródłem coraz gorętszych debat w portalach koncentrują-
cych się na innych językach programowania. Szczególnie burzliwe dyskusje mają miejsce
wśród społeczności programistów języka Java.
Zainteresowani nie muszą długo szukać, by znaleźć znakomite przeglądowe publikacje na
temat Rails. Można już oglądać kilka edukacyjnych filmów pokazujących Rails, w których
twórca środowiska — David Heinemeier Hanson — pokazuje je w działaniu. Można na nich
zobaczyć, jak przygotowuje on proste, działające aplikacje (niemniej z pełną obsługą bazy
danych i sprawdzaniem danych nadchodzących) w mniej niż 10 minut. Ponadto w odróżnieniu
od wielu środowisk umożliwiających szybkie, acz niestaranne programowanie, Rails umożliwia
1 Liczba 500 000 to tak naprawdę dość ostrożny szacunek. Takie dane uzyskać można ze statystyk ściągania
oprogramowania, oferowanych przez najbardziej popularne narzędzie dystrybucji zwane gems (z ang. klej-
noty). Niemniej istnieje również wiele innych dystrybucji środowiska Rails, takich jak Locomotive przezna-
czone dla systemu Mac OS X. Dlatego też prawdziwe statystyki ściągania środowiska Rails są prawdopo-
dobnie dwukrotnie wyższe.
9
400258668.002.png
szybkie tworzenie aplikacji, dając jednocześnie bardzo porządny kod. Pozwala na budowanie
eleganckich aplikacji dzięki wdrożeniu schematu model-widok-kontroler. Jak widać, Rails to
wyjątkowe środowisko programowania.
Oczywiście środowisko Rails ma też swoje ograniczenia. Język Ruby na przykład dość słabo
obsługuje mapowanie między obiektami a relacyjnymi bazami danych (ORM, ang. object-relational
mapping ) dla schematów dziedziczenia (ang. legacy schemas ). Podejście zastosowane w języku Ruby
nie jest tak dobre jak na przykład rozwiązania języka Java 2 . Język Ruby nadal nie posiada zinte-
growanych środowisk programowania, które mogłyby być jego okrętami flagowymi. Każde
z istniejących dotychczas środowisk ma swoje ograniczenia, więc i Rails także. Niemniej dla bardzo
szerokiego zakresu aplikacji WWW zalety Rails znacznie przeważać będą nad jego słabościami.
Zalety Rails
W trakcie lektury niniejszej książki czytelnicy dowiedzą się, w jaki sposób środowisko Rails
może obywać się bez całego tego zestawu rozbudowanych bibliotek, których potrzebują inne
języki programowania. Dzięki wszechstronności języka Ruby możliwe będzie rozszerzenie
możliwości naszych aplikacji w sposób, o jakim do tej pory się nam nie śniło. Można na
przykład korzystać ze specjalnej funkcji Rails zwanej rusztowaniem (ang. scaffolding ), która po-
zwala szybko przygotować dla klientów interfejs użytkownika umożliwiający kontaktowanie
się z bazą danych. Następnie wraz z modyfikowaniem kodu rusztowanie zacznie się coraz
bardziej stapiać z programem. W ten sposób można przygotować oparte na bazie danych
obiekty modelu, pisząc zaledwie kilka wierszy kodu, a środowisko Rails zajmie się już wszyst-
kimi nużącymi szczegółami technicznymi.
Największym wyzwaniem dla typowych projektów informatycznych w dzisiejszych czasach
jest przygotowanie przeznaczonego dla witryny WWW interfejsu użytkownika, który umoż-
liwiać będzie zarządzanie relacyjną bazą danych. W przypadku tego rodzaju problemów
środowisko Rails okazuje się bardziej efektywne od większości środowisk programowania,
z których mieliśmy okazję korzystać. Jego zalety nie wynikają jednak z żadnego pojedynczego,
cudownego wynalazku; raczej z tego, że środowisko Rails zawiera wiele różnych funkcji zwięk-
szających produktywność programowania, z których kolejne są często budowane w oparciu
o wcześniejsze.
Metaprogramowanie
Techniki metaprogramowania polegają na zaprzęgnięciu programów do pisania opro-
gramowania. Inne środowiska programowania ograniczają się zazwyczaj do generowa-
nia określonych elementów kodu, co pozwala użytkownikowi zaoszczędzić trochę czasu,
ale nie daje innych korzyści. Mogą też oferować skrypty, które umożliwiają dopasowy-
wanie gotowych szablonów kodu do własnych potrzeb, jednak pozwalają na modyfiko-
wanie kodu tylko w nielicznych, starannie wybranych punktach. Metaprogramowanie
zastępuje te dwie, dość prymitywne, techniki, eliminując ich wady. Ruby to jeden z naj-
lepszych języków oferujących możliwość metaprogramowania, a środowisko Rails wyko-
rzystuje ją w sposób wysoce efektywny 3 .
2 Na przykład środowisko Hibernate języka Java obsługuje trzy sposoby mapowania dziedziczenia, natomiast
język Ruby obsługuje tylko dziedziczenie oparte na dziedziczeniu. Hibernate obsługuje również klucze zło-
żone (ang. composite keys ), a Ruby nie.
3 Środowisko Rails korzysta również z tradycyjnej techniki programowania, większość jednak podstawowych
prac wykonuje uciekając się do metaprogramowania.
10 | Rozdział 1. Zaczynamy — wprowadzenie do Rails
400258668.003.png
Zgłoś jeśli naruszono regulamin