head first ruby on rails. edycja polska full scan.pdf

(147375 KB) Pobierz
887660085.074.png
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
35
Co jest potrzebne aplikacji?
36
Rails służy do tworzenia aplikacji bazodanowych,
takich jak system sprzedaży biletów
38
Nową aplikację tworzy się za pomocą polecenia rails
39
Teraz do domyślnej aplikacji trzeba dodać własny kod
41
Rusztowanie to kod GENEROWANY
42
W bazie danych nie ma jeszcze tabel!
46
Tabelę tworzy się dzięki wykonaniu migracji
47
Pięknie! Uratowałeś pracę kumpla!
51
By zmodyfikować aplikację, musisz przyjrzeć się
jej architekturze
52
Trzy części Twojej aplikacji: model, widok i kontroler
53
Cała prawda o Rails
54
Trzy typy kodu przechowywane są w OSOBNYCH folderach
57
Trzeba zmodyfikować pliki WIDOKU
58
Edycja kodu HTML w widoku
59
Aplikacja musi teraz przechować większą liczbę informacji
63
Migracja to po prostu skrypt w języku Ruby
64
Rails może generować migracje
65
Nadaj swojej migracji odpowiednią nazwę, a Rails napisze
za Ciebie kod
66
Migrację należy wykonać za pomocą rake
67
Sama zmiana bazy danych nie wystarczy
68
Dlaczego Rails mówi do mnie po angielsku?
75
Uczymy Rails języków obcych
76
10
887660085.085.png 887660085.096.png 887660085.107.png 887660085.001.png 887660085.012.png 887660085.023.png 887660085.027.png 887660085.028.png 887660085.029.png 887660085.030.png 887660085.031.png 887660085.032.png 887660085.033.png 887660085.034.png 887660085.035.png
Spis treści
Poza rusztowaniem
2
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
85
Zaczynamy od wygenerowania modelu MeBay…
86
…a następnie utworzymy tabelę za pomocą polecenia rake
87
Ale co z kontrolerem?
88
Widok tworzony jest przez szablon strony
90
Szablon strony zawiera kod HTML
91
Trasa mówi Rails, gdzie znajduje się strona
93
Widok nie ma danych do wyświetlenia
100
Co zatem powinna pokazywać strona?
101
Kontroler przesyła ogłoszenie do widoku
102
Rails zmienia rekord w obiekt
104
Dane znajdują się w pamięci, a strona internetowa je widzi
105
Jest problem — ludzie nie potrafią znaleźć żądanych stron
109
Trasy wykonywane są w kolejności
112
By przesłać dane do widoku, będziesz potrzebował
kodu kontrolera
114
Strona indeksująca potrzebuje danych
ze WSZYSTKICH rekordów
115
Metoda Ad.find(:all) wczytuje całą tabelę naraz
116
Dane zwracane są jako obiekt zwany tablicą
117
Tablica to ponumerowana sekwencja obiektów
118
Wczytanie wszystkich ogłoszeń za pomocą pętli for
122
Potrzebny nam kod HTML dla każdego elementu tablicy
123
Rails konwertuje szablony stron na kod języka Ruby
124
Pętle można dodawać do szablonów stron
za pomocą scriptletów
125
Z każdym przejściem pętli strona generuje jeden odnośnik
126
Jak wygląda wygenerowany kod HTML?
127
Ale my mamy dwa szablony stron…
czy powinniśmy zmieniać kod każdego z nich?
130
A co z nową treścią statyczną wysłaną przez MeBay?
133
11
887660085.036.png 887660085.037.png 887660085.038.png 887660085.039.png 887660085.040.png 887660085.041.png 887660085.042.png 887660085.043.png 887660085.044.png 887660085.045.png 887660085.046.png 887660085.047.png 887660085.048.png 887660085.049.png 887660085.050.png 887660085.051.png 887660085.052.png 887660085.053.png 887660085.054.png 887660085.055.png 887660085.056.png 887660085.057.png 887660085.058.png 887660085.059.png 887660085.060.png 887660085.061.png 887660085.062.png 887660085.063.png 887660085.064.png 887660085.065.png 887660085.066.png 887660085.067.png 887660085.068.png 887660085.069.png 887660085.070.png 887660085.071.png 887660085.072.png 887660085.073.png 887660085.075.png 887660085.076.png 887660085.077.png 887660085.078.png 887660085.079.png 887660085.080.png 887660085.081.png 887660085.082.png 887660085.083.png 887660085.084.png 887660085.086.png 887660085.087.png 887660085.088.png 887660085.089.png 887660085.090.png 887660085.091.png 887660085.092.png 887660085.093.png
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
140
Wiesz już, jak budować aplikację publikującą dane z bazy
141
Zapisywanie danych działa dokładnie ODWROTNIE
do ich odczytywania
142
Potrzebny nam formularz służący do dodawania danych
oraz metoda akcji zapisująca te dane 143
Czy formularze i obiekty są ze sobą powiązane? 145
Rails może tworzyć formularze powiązane z obiektami modelu 146
Obiekt formularza @ad nie został utworzony
150
app
Obiekt formularza musi zostać utworzony
przed wyświetleniem formularza
151
Obiekt ogłoszenia formularza zostanie utworzony
w akcji new kontrolera
views
152
Każdy szablon strony ma teraz odpowiadającą mu
metodę kontrolera
153
Formularz nie odsyła obiektu, odsyła DANE
155
new.html.erb
Rails musi przekształcić dane na obiekt przed ich zapisaniem
156
Metoda create kontrolera krok po kroku
157
Kontroler musi zapisać rekord
158
Nie twórz nowej strony, użyj istniejącej
164
Jak jednak akcja kontrolera może wyświetlać
stronę INNEJ akcji?
Metoda „create” w kontrolerze „ads”
165
Przekierowania pozwalają kontrolerowi określić,
który widok zostanie wyświetlony
166
Ale co się dzieje, kiedy ogłoszenie należy
po opublikowaniu poprawić?
169
Uaktualnienie ogłoszenia przypomina utworzenie go…
tylko jest trochę inne
170
Cholera… Nie umiem
złamać tego paskudnie
trudnego hasła!
Zamiast tworzyć ogłoszenie, musimy je odnaleźć;
zamiast je zapisać, musimy je uaktualnić
171
Ograniczanie dostępu do funkcji
178
…teraz jednak stare ogłoszenia trzeba usunąć
181
Wykonanie tego samodzielnie dało Ci możliwość
zrobienia więcej, niż potrafi rusztowanie
187
12
887660085.094.png 887660085.095.png 887660085.097.png 887660085.098.png 887660085.099.png 887660085.100.png 887660085.101.png 887660085.102.png 887660085.103.png 887660085.104.png 887660085.105.png 887660085.106.png 887660085.108.png 887660085.109.png 887660085.110.png 887660085.111.png
Spis treści
Wyszukiwanie w bazie danych
4
Prawda czy konsekwencje?
Każda decyzja ma swoje konsekwencje. W Rails wiedza o tym, jak podejmować
dobre decyzje , może zaoszczędzić Ci zarówno czasu, jak i wysiłku. W tym rozdziale przyjrzymy
się, jak wymagania użytkownika wpływają na wybory, jakich dokonujesz, już od samego
początku tworzenia Twojej aplikacji. Czy powinieneś użyć rusztowania, czy lepiej zmodyfikować
wygenerowany kod? Czy powinieneś tworzyć wszystko od nowa? Bez względu na wybór, kiedy
nadejdzie pora dalszego dostosowania aplikacji do własnych potrzeb, będziesz musiał nauczyć
się obsługi wyszukiwania w bazie danych dostępu do danych w sposób, który ma sens
zarówno z Twojego punktu widzenia, jak i z punktu widzenia potrzeb Twoich użytkowników .
Dbaj o siebie z Rubyville Health Club
190
Aplikacja w zasadzie wygląda dość podobnie…
193
Poprawimy rusztowanie
194
Zaprojektowanie opcji wyszukiwania
195
Zacznijmy od utworzenia formularza
196
Dodanie wyszukiwania do interfejsu
199
Jak możemy znaleźć rekordy klientów?
207
Potrzebne nam jedynie te rekordy,
gdzie client_name = łańcuch wyszukiwania
208
Dla każdego atrybutu istnieje metoda wyszukująca
209
Musimy dopasować albo nazwisko klienta, albo trenera
214
Metody wyszukujące piszą zapytania do bazy danych
215
Interes świetnie się kręci,
ale mamy kłopot z prześledzeniem
wszystkich prywatnych zajęć fitness
naszych klientów. Myślisz, że dasz
radę pomóc?
Musimy być w stanie zmodyfikować warunki
wykorzystane w zapytaniu SQL
216
Kod SQL podaje się za pomocą :conditions
217
Aplikacja dla
trenerów
C reate
(tworzenie)
D elete
(usuwanie)
R ead
(odczytywanie)
U pdate
(uaktualnianie)
Search
(wyszukiwanie)
13
887660085.112.png 887660085.113.png 887660085.114.png 887660085.115.png 887660085.116.png 887660085.117.png 887660085.002.png 887660085.003.png 887660085.004.png 887660085.005.png 887660085.006.png 887660085.007.png 887660085.008.png 887660085.009.png 887660085.010.png 887660085.011.png 887660085.013.png 887660085.014.png 887660085.015.png 887660085.016.png 887660085.017.png 887660085.018.png 887660085.019.png 887660085.020.png 887660085.021.png 887660085.022.png 887660085.024.png 887660085.025.png 887660085.026.png
Zgłoś jeśli naruszono regulamin