Head_First_Ruby_on_Rails_Edycja_polska_hfror.pdf

(4189 KB) Pobierz
Head First Ruby on Rails.
Edycja polska
Autor:
David Griffiths
T³umaczenie: Anna Trojan
ISBN: 978-83-246-2130-9
Tytu³ orygina³u:
Head First Rails:
A learner's companion to Ruby on Rails
Format: 200×234, stron: 470
Bez wysi³ku poznaj niesamowite mo¿liwoœci Ruby on Rails i twórz wspania³e aplikacje
Jeœli chcesz szybko i sprawnie budowaæ internetowe aplikacje bazodanowe, warto,
abyœ pozna³ niezwyk³e mo¿liwoœci Rails. Ta wyj¹tkowa platforma programowania
pozwala tworzyæ w pe³ni funkcjonalne aplikacje z wykorzystaniem jêzyka Ruby. Jej
wielk¹ zalet¹ jest to, ¿e wszystkie zmiany wprowadzane do aplikacji mo¿na zobaczyæ
natychmiast po ich zapisaniu i odœwie¿eniu strony w przegl¹darce. Dzieje siê tak dziêki
zastosowaniu jêzyka Ruby, poniewa¿ kod w tym jêzyku nie musi byæ kompilowany.
Ksi¹¿kê „Head First Ruby on Rails. Edycja polska” napisano w oparciu o najnowsze,
skuteczne techniki u³atwiaj¹ce zrozumienie i przyswajanie wiedzy. Dziêki temu szybko
i bez trudnoœci nauczysz siê tworzyæ interaktywne aplikacje internetowe za pomoc¹ tej
platformy. Dowiesz siê, na czym polega wspó³praca z baz¹ danych, integracja
z Ajaksem i XML oraz dynamiczne wykreœlanie danych. Poniewa¿ to obrazy najlepiej
przemawiaj¹ do Twojego umys³u, ksi¹¿ka ta zosta³a bogato zilustrowana – abyœ jak
najszybciej pozna³ mo¿liwoœci Rails i natychmiast zacz¹³ wykorzystywaæ je w praktyce.
• Jêzyk Ruby
• Tworzenie tabel
• Wykonywanie migracji bazy danych
• Kod modelu, widoku i kontrolera
• Tworzenie formularza
• Sprawdzanie poprawnoœci danych
• Zapobieganie b³êdom
• Do³¹czanie bibliotek Ajaksa
• Udostêpnianie aplikacji u¿ytkownikom
Wykorzystaj najnowsze metody uczenia siê i szybko opanuj Ruby on Rails!
Spis
treści
Spis treści (skrócony)
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Wprowadzenie
Naprawdę szybkie Rails.
Początki
Aplikacje Rails — stworzone, by nimi zarządzać.
Poza rusztowaniem
Wszystko się zmienia.
Wstawianie, uaktualnianie i usuwanie
Prawda czy konsekwencje?
Wyszukiwanie w bazie danych
Zapobieganie błędom.
Sprawdzanie poprawności danych
Łączenie wszystkiego razem.
Tworzenie połączeń
Ograniczanie ruchu.
Ajax
Wszystko wygląda teraz inaczej…
XML i różne reprezentacje
Kolejne kroki.
Architektura REST i Ajax
Rails w świecie rzeczywistym.
Prawdziwe aplikacje
Skorowidz
21
33
81
139
189
223
255
299
343
393
437
455
Spis treści (z prawdziwego zdarzenia)
W
Wprowadzenie
nauczyć,
podczas gdy Twój
mózg
próbuje oddać Ci przysługę, starając się, by to, czego
się nauczyłeś, nie zostało
zapamiętane.
Twój mózg myśli sobie: „Lepiej zostawić miejsce
na ważniejsze rzeczy, takie jak to, których dzikich zwierząt należy unikać i czy jazda
na snowboardzie nago jest złym pomysłem”.
Jak
zatem możesz zmusić swój mózg
do zaakceptowania przekonania, że Twoje życie uzależnione jest od poznania Rails?
Przestawienie swojego mózgu na Rails.
A zatem tutaj
Ty
próbujesz się czegoś
Dla kogo przeznaczona jest ta książka?
Wiemy, co sobie myślisz
Metapoznanie — myślenie o myśleniu
Oto, co możesz zrobić, by skłonić swój mózg do posłuszeństwa
Ważne informacje
Zespół korektorów merytorycznych
Podziękowania
22
23
25
27
28
30
31
9
Spis
treści
1
Początki
Naprawdę szybkie Rails
Chcesz szybko zacząć pisać aplikacje internetowe?
Powinieneś zatem poznać
Rails.
Rails to
najfajniejsza
i
najszybsza platforma programowania,
jaka istnieje. Pozwala
tworzyć
w pełni funkcjonalne aplikacje internetowe
szybciej, niż kiedykolwiek wydawało
się to możliwe. Początki są łatwe — wystarczy
zainstalować Rails
i zacząć przewracać
strony książki. Zanim się zorientujesz,
o lata świetlne wyprzedzisz swoich konkurentów!
Aplikacja musi robić wiele rzeczy
Co jest potrzebne aplikacji?
Rails służy do tworzenia aplikacji bazodanowych,
takich jak system sprzedaży biletów
Nową aplikację tworzy się za pomocą polecenia rails
Teraz do domyślnej aplikacji trzeba dodać własny kod
Rusztowanie to kod GENEROWANY
W bazie danych nie ma jeszcze tabel!
Tabelę tworzy się dzięki wykonaniu migracji
Pięknie! Uratowałeś pracę kumpla!
By zmodyfikować aplikację, musisz przyjrzeć się
jej architekturze
Trzy części Twojej aplikacji: model, widok i kontroler
Cała prawda o Rails
Trzy typy kodu przechowywane są w OSOBNYCH folderach
Trzeba zmodyfikować pliki WIDOKU
Bum!
35
36
38
39
41
42
46
47
51
52
53
54
57
58
59
63
64
65
66
67
68
75
76
Edycja kodu HTML w widoku
Aplikacja musi teraz przechować większą liczbę informacji
Migracja to po prostu skrypt w języku Ruby
Rails może generować migracje
Nadaj swojej migracji odpowiednią nazwę, a Rails napisze
za Ciebie kod
Migrację należy wykonać za pomocą rake
Sama zmiana bazy danych nie wystarczy
Dlaczego Rails mówi do mnie po angielsku?
Uczymy Rails języków obcych
10
Spis
treści
2
Poza rusztowaniem
Aplikacje Rails — stworzone, by nimi zarządzać
Co tak naprawdę dzieje się w Rails?
Widziałeś już, jak
rusztowania
generują mnóstwo kodu
i pomagają pisać aplikacje internetowe w sposób niesamowicie szybki, ale co, jeśli pragniesz czegoś
innego? W tym rozdziale zobaczysz, jak można
przejąć kontrolę
nad programowaniem w Rails,
i będziesz miał okazję zajrzeć pod maskę tej platformy. Przekonasz się, w jaki sposób Rails decyduje
o tym, który
kod
należy wykonać, jak
dane
wczytywane są z bazy danych i jak generowane są
strony
internetowe.
Pod koniec rozdziału będziesz w stanie publikować dane tak, jak
sam
zechcesz.
Rusztowanie robi O WIELE za dużo
Zaczynamy od wygenerowania modelu MeBay…
…a następnie utworzymy tabelę za pomocą polecenia rake
Ale co z kontrolerem?
Widok tworzony jest przez szablon strony
Szablon strony zawiera kod HTML
Trasa mówi Rails, gdzie znajduje się strona
Widok nie ma danych do wyświetlenia
Co zatem powinna pokazywać strona?
Kontroler przesyła ogłoszenie do widoku
Rails zmienia rekord w obiekt
Dane znajdują się w pamięci, a strona internetowa je widzi
Jest problem — ludzie nie potrafią znaleźć żądanych stron
Trasy wykonywane są w kolejności
By przesłać dane do widoku, będziesz potrzebował
kodu kontrolera
Strona indeksująca potrzebuje danych
ze WSZYSTKICH rekordów
Metoda Ad.find(:all) wczytuje całą tabelę naraz
Dane zwracane są jako obiekt zwany tablicą
Tablica to ponumerowana sekwencja obiektów
Wczytanie wszystkich ogłoszeń za pomocą pętli for
Potrzebny nam kod HTML dla każdego elementu tablicy
Rails konwertuje szablony stron na kod języka Ruby
Pętle można dodawać do szablonów stron
za pomocą scriptletów
Z każdym przejściem pętli strona generuje jeden odnośnik
Jak wygląda wygenerowany kod HTML?
Ale my mamy dwa szablony stron…
czy powinniśmy zmieniać kod każdego z nich?
A co z nową treścią statyczną wysłaną przez MeBay?
85
86
87
88
90
91
93
100
101
102
104
105
109
112
114
115
116
117
118
122
123
124
125
126
127
130
133
11
Spis
treści
3
Wstawianie, uaktualnianie i usuwanie
Wszystko się zmienia
Zmiana to część życia — szczególnie w przypadku danych.
Na razie widziałeś,
jak można szybko wyczarować aplikację Rails dzięki rusztowaniu, a także jak napisać własny
kod w celu publikacji danych z bazy. Ale co zrobić, kiedy chcemy, by użytkownicy mogli
edytować dane w zaplanowany
przez nas
sposób? Co jeśli rusztowanie nie robi tego,
co chcemy
my?
W tym rozdziale nauczysz się
wstawiać, uaktualniać
i
usuwać
dane
dokładnie tak, jak tego chcesz. A przy okazji zobaczysz również, jak tak
naprawdę
działa
Rails, i być może nauczysz się również czegoś o bezpieczeństwie.
Ludzie chcą sami publikować ogłoszenia w Internecie
Wiesz już, jak budować aplikację publikującą dane z bazy
Zapisywanie danych działa dokładnie ODWROTNIE
do ich odczytywania
Potrzebny nam formularz służący do dodawania danych
oraz metoda akcji zapisująca te dane
Czy formularze i obiekty są ze sobą powiązane?
Rails może tworzyć formularze powiązane z obiektami modelu
Obiekt formularza @ad nie został utworzony
Obiekt formularza musi zostać utworzony
przed wyświetleniem formularza
Obiekt ogłoszenia formularza zostanie utworzony
w akcji new kontrolera
Każdy szablon strony ma teraz odpowiadającą mu
metodę kontrolera
Formularz nie odsyła obiektu, odsyła DANE
Rails musi przekształcić dane na obiekt przed ich zapisaniem
Metoda create kontrolera krok po kroku
Kontroler musi zapisać rekord
Nie twórz nowej strony, użyj istniejącej
Jak jednak akcja kontrolera może wyświetlać
stronę INNEJ akcji?
Przekierowania pozwalają kontrolerowi określić,
który widok zostanie wyświetlony
Ale co się dzieje, kiedy ogłoszenie należy
po opublikowaniu poprawić?
Uaktualnienie ogłoszenia przypomina utworzenie go…
tylko jest trochę inne
Zamiast tworzyć ogłoszenie, musimy je odnaleźć;
zamiast je zapisać, musimy je uaktualnić
Ograniczanie dostępu do funkcji
…teraz jednak stare ogłoszenia trzeba usunąć
Wykonanie tego samodzielnie dało Ci możliwość
zrobienia więcej, niż potrafi rusztowanie
140
141
142
143
145
146
150
151
152
153
155
156
157
158
164
165
166
169
170
171
178
181
187
app
views
new.html.erb
Metoda „create” w kontrolerze „ads”
Cholera… Nie umiem
złamać tego paskudnie
trudnego hasła!
12
Zgłoś jeśli naruszono regulamin