Ruby on Rails Wprowadzenie Wydanie II.pdf

(291 KB) Pobierz
Ruby on Rails.
Wprowadzenie. Wydanie II
Autor: Bruce Tate, Lance Carlson, Curt Hibbs
ISBN: 978-83-246-2210-8
Tytu³ orygina³u:
Rails: Up and Running
Format: B5, stron: 192
Poznaj Ruby on Rails
i twórz potê¿ne aplikacjeinternetowe w zaledwie kilka dni
Jak budowaæ dynamiczne strony, nastawione na u¿ytkownika?
Jak rozwi¹zaæ problemy z wydajnoœci¹ baz danych?
Jak sprawnie i efektywnie korzystaæ z platformy Ruby on Rails?
Dlaczego masz wybraæ Ruby on Rails? G³ównie dlatego, ¿e jest to wyj¹tkowe narzêdzie,
które umo¿liwia budowê aplikacji internetowych ka¿dego typu (w tym portali
spo³ecznoœciowych, witryn e-commerce, oprogramowania do zarz¹dzania
oraz tworzenia statystyk) w zaledwie kilka dni! A to wszystko dziêki Rails — doskonale
wyposa¿onemu frameworkowi do tworzenia aplikacji internetowych opartych o bazy
danych — który oferuje œrodowisko z wykorzystaniem jêzyka Ruby. Zaœ ten jêzyk
programowania charakteryzuje siê niezwyk³ym po³¹czeniem cech: jest równoczeœnie
prosty, elegancki i elastyczny, co pozwala dowolnie modyfikowaæ jego czêœci.
Ksi¹¿ka
„Ruby
on Rails. Wprowadzenie. Wydanie II” zawiera szczegó³owe porady
i wskazówki dotycz¹ce instalacji oraz korzystania z Rails 2.1, a tak¿e jêzyka
skryptowego Ruby. W podrêczniku znajdziesz nie tylko wyjaœnienia odnoœnie sposobu
dzia³ania Rails, ale równie¿ opis kompletnej aplikacji. Dziêki temu przewodnikowi
dowiesz siê, w jaki sposób wspó³pracuj¹ ze sob¹ wszystkie aplikacje tworz¹ce szkielet
Rails, a ponadto nauczysz siê sprawnie korzystaæ z dokumentacji oprogramowania
i tworzyæ zaawansowane aplikacje znacznie szybciej ni¿ dotychczas.
Uruchamianie i organizacja Rails
Budowanie widoku
Rusztowania, REST i œcie¿ki
Klasy z³o¿one
Rozbudowywanie widoków
Zarz¹dzanie uk³adem strony
Arkusze stylów
Tworzenie w³asnych funkcji pomocniczych
Testowanie i debugowanie
Tworzenie nowej aplikacji Rails
Wyczerpuj¹ce i przyjazne wprowadzenie w Ruby on Rails
Spis treści
Przedmowa ...............................................................................................................................5
1. Zaczynamy — wprowadzenie do Rails ........................................................................9
Uruchamianie Rails
Organizacja Rails
Serwer WWW
Tworzenie kontrolera
Budowanie widoku
Wiązanie kontrolera z widokiem
Co się dzieje za kulisami
Co dalej
10
12
13
16
18
20
22
23
2. Rusztowania, REST i
ścieżki
........................................................................................25
Wprowadzenie do Photo Share
Przygotowanie projektu i bazy danych
Generowanie rusztowania zasobów
Ścieżki
zgodne z REST
Uzupełnianie rusztowania
Co dalej?
25
27
28
32
39
40
3. Podstawy Active Record ............................................................................................. 41
Podstawy mechanizmu Active Record
Podstawowe klasy Active Record
Atrybuty
Klasy złożone
Zachowania
W kolejnym rozdziale
41
46
48
50
55
60
3
4. Relacje w Active Record .............................................................................................. 61
belongs_to
has_many
has_one
has_and_belongs_to_many
acts_as_list
Drzewa
O czym nie powiedzieliśmy
Wybiegając w przyszłość
61
64
66
67
70
72
75
76
5. Rozbudowywanie widoków ....................................................................................... 77
Obraz całości
Oglądanie rzeczywistych fotografii
Szablony widoków
Określanie domyślnej strony głównej
Arkusze stylów
Hierarchiczne kategorie
Określanie stylów dla pokazów slajdów
77
79
79
84
85
88
93
6. Ajax ..............................................................................................................................99
W jaki sposób Rails implementuje Ajax
Odtwarzanie pokazów slajdów
Zmienianie porządku slajdów metodą przeciągnij i upuść
Przeciąganie i upuszczanie wszystkiego (lub prawie wszystkiego)
Filtrowanie według kategorii
99
100
103
107
114
7. Testowanie .................................................................................................................119
Słowo wprowadzenia
Mechanizm Test::Unit języka Ruby
Testowanie w
środowisku
Rails
Asercje i testy integracyjne
Podsumowując
119
120
123
140
142
A Instalowanie Rails ..................................................................................................... 145
B Krótki leksykon Rails ..................................................................................................151
Skorowidz ............................................................................................................................. 183
4
|
Spis treści
ROZDZIAŁ 2.
Rusztowania, REST i
ścieżki
Przez stulecia rusztowania pomagały budowniczym w budowie i wykańczaniu wznoszonych
budynków. Programiści również korzystają z tymczasowego kodu rusztowania tworzącego
wstępne ramy i podstawowy mechanizm aplikacji do czasu, aż gotowy będzie właściwy kod
aplikacji. Rails automatyzuje proces tworzenia rusztowań bardzo ułatwiając budowanie apli-
kacji we wstępnej fazie.
W rozdziale 1. pokazaliśmy, jak Rails wykorzystuje tablicę z parametrami do przekształcenia
prostego wywołania Rails w wywołanie akcji w kontrolerze. Zbudowaliśmy w nim również
bardzo proste widoki. W tym rozdziale rozpoczniemy budowę bardziej zaawansowanej apli-
kacji, o nazwie Photo Share, która będzie mogła być użyta do zarządzania fotografiami. Za-
stosujemy rusztowania do zbudowania podstawowego szablonu zawierającego model korzy-
stający z bazy danych, kontroler oraz widok. Niejako przy okazji przedstawimy podstawy
kilku najważniejszych funkcji Rails, takich jak:
Migracje.
Ta funkcja obsługi bazy danych pomaga programistom w wieloetapowym two-
rzeniu modelu bazy danych, zarządzaniu różnicami w schematach używanych we wszyst-
kich naszych
środowiskach.
Migracje korzystają z kodu Ruby zamiast kodu SQL specy-
ficznego dla bazy danych.
REST oraz zasoby.
Rails korzysta intensywnie ze stylu komunikacji internetowej o nazwie
REST, czyli Representational State Transfer. Taka strategia komunikacji wykorzystującej
HTTP definiuje zasoby internetowe, w których każde polecenie URL lub HTTP wykonu-
je jedną z operacji CRUD (Create,
Read, Update, Delete
— tworzenie, odczyt, modyfikacja
i usuwanie) na zasobie. W Rails 2 każdy kontroler jest zasobem REST.
standaryzowane,
eleganckie adresy URL na predefiniowane akcje kontrolera. W wyniku
tego potrzeba mniej kodu i uzyskujemy lepszą spójność pomiędzy naszymi aplikacjami.
Ścieżki
nazwane.
Dla każdego zasobu Rails tworzy
ścieżki
nazwane, które odwzorowują
Przyjrzyjmy się dokładniej aplikacji Photo Share. Następnie szybko zbudujemy podstawy tej
aplikacji. Na koniec tego rozdziału będziemy mieli prostą aplikację pozwalającą zarządzać
zdjęciami, pokazami slajdów, slajdami i kategoriami.
Wprowadzenie do Photo Share
W dalszej części tej książki będziemy tworzyć jedną aplikację o nazwie Photo Share, umożli-
wiającą wymianę zdjęć pomiędzy jej użytkownikami. Aplikacja ta będzie korzystała z bazy da-
nych. Rozpoczniemy od poniższych prostych wymagań nazywanych
scenariuszami użytkownika:
25
Umieszczanie zbioru zdjęć w sieci WWW w taki sposób, aby inni użytkownicy mogli je
zobaczyć.
Organizowanie zdjęć w kategoriach.
Tworzenie i przeglądanie pokazów slajdów budowanych z dostępnych zdjęć.
Każde z tych wymagań odnosi się do innej części aplikacji. Przyjrzyjmy się dokładniej elemen-
tom Rails wymaganych przez te scenariusze.
Definiowanie zasobów
Gdy analizujemy naszą aplikację, najlepiej na początku myśleć o niej jak o zasobach. Rails 2
jest
środowiskiem
tworzenia oprogramowania ukierunkowanym na zasoby, więc tworzenie
zwykle rozpoczyna się od zdefiniowania zasobów. Praktycznie rzecz ujmując, zasób jest jed-
nostką internetową, która posiada metody do reprezentowana tej jednostki i zarządzania nią.
Mówiąc jeszcze praktyczniej, typowy zasób Rails jest modelem korzystającym z bazy danych,
kontrolerem zarządzającym tym modelem oraz widokiem, który prezentuje jeden lub więcej
modeli naszym użytkownikom. Po zdefiniowaniu wymagań wstępnych następnym zadaniem
jest określenie zasobów wymaganych przez naszą aplikację. Spójrzmy na listę scenariuszy
i skoncentrujmy się na rzeczownikach. Kilkoma oczywistymi kandydatami na zasoby Rails
zdjęcia, slajdy, pokazy slajdów
oraz
kategorie.
Ujawniają się również niektóre relacje pomię-
dzy nimi:
Kategoria
zawiera wiele
zdjęć,
a
zdjęcie
może mieć jedną lub więcej
kategorii.
Kategoria
może mieć inną
kategorię.
Pokaz slajdów
zawiera wiele
slajdów.
Slajd
zawiera jedno
zdjęcie.
Prosty diagram, taki jak na rysunku 2.1, pomaga pokazać zasoby aplikacji oraz relacje między
nimi. W przypadku relacji „jeden do wielu” korzystamy ze strzałki oznaczającej
należy do,
więc
wskazuje ona od strony „jeden do wielu”. Strzałka dwukierunkowa wskazuje relację „wiele
do wielu”, natomiast linie bez strzałek — relacje „jeden do jednego”. Będziemy korzystać
z drzewa ze strzałkami wskazującymi na klasę nadawcy. Później skorzystamy z Active Record
do definiowania relacji, ale w tym rozdziale utworzymy bardzo prosty model niezawierający
zaawansowanych funkcji. Aby jednak wykonać cokolwiek w Active Record, musimy zdefinio-
wać bazę danych.
Rysunek 2.1. Rusztowania generujące wszystkie cztery widoki
26
|
Rozdział 2. Rusztowania, REST i
ścieżki
Zgłoś jeśli naruszono regulamin