Obsah Začínáme programovat v Ruby on Rails™
9
O autorovi Poděkování
9 9
Úvod Komu je kniha určena Jak je kniha uspořádána Co ke knize potřebujete Konvence Zdrojový kód Poznámka redakce českého vydání p2p.wrox.com
1. Vítejte v Ruby Instalace Ruby a Rails Instalace Ruby a Rails na Windows Instalace Ruby a Rails na Mac OS X Instalace Ruby a Rails v Linuxu a Unixu Databázový systém Vytvoření první webové aplikace Začínáme s Ruby Pohled do dokumentace Práce s čísly v Ruby Práce s řetězci v Ruby
11 11 11 12 12 13 14 14
15 15 15 16 16 17 17 21 23 24 25
3
Obsah Ukládání dat v proměnných Vytváření konstant Nahrazování proměnných v řetězcích vymezených uvozovkami Čtení textu na příkazovém řádku Vytváření symbolů v Ruby Práce s operátory Přednosti operátorů Práce s poli Práce se dvěma indexy pole Práce s asociacemi Práce s rozsahy Souhrn Cvičení
2. Podmíněné výrazy, cykly, metody a bloky Vše je o volbách: příkaz if Použití klauzulí else v příkazech if Použití klauzulí elsif v příkazech if Práce s příkazem unless Jak to funguje
Použití if a unless jako modifikátorů Použití příkazu case Využívání cyklů Práce s cyklem while Práce s cyklem until Použití while a until jako modifikátorů Práce s cyklem for Využití iterátorů jazyka Ruby Práce s break, redo a next v cyklech Jak to funguje
Práce s příkazem retry Vytvoření a zavolání metody Předávání argumentů metodě Předávání proměnného počtu argumentů Vracení hodnoty z metody Vracení více hodnot z metody Využívání oborů platnosti Práce s bloky Předávání dat blokům Práce s bloky BEGIN a END Souhrn Cvičení
4
27 29 29 30 32 32 35 36 39 41 43 46 46
47 47 48 49 51 51
52 53 56 56 57 58 59 60 63 65
65 66 67 68 69 71 72 73 75 76 77 77
Obsah
3. Třídy a objekty Vše o zapouzdření Vytvoření třídy Vytvoření objektu Použití konstruktoru ke konfiguraci objektů Seznámení s atributy jazyka Ruby Vytváření čitelných atributů Vytváření zapisovatelných atributů Vytváření čitelných a zapisovatelných atributů
Jedna třída jako základ druhé Přístup k objektům jazyka Ruby Použití chráněného přístupu Použití soukromého přístupu Překrývání metod Vytváření proměnných třídy Vytváření metod třídy Vytváření modulů Vytváření kombinací Souhrn Cvičení
4. Vítejte na Rails
79 79 80 82 83 84 84 86 88
88 92 93 95 97 98 100 101 103 104 105
107
Jak vložit Ruby na Rails Tvorba aplikačního rámce Spuštění aplikace Vytvoření řadiče
107 108 111 112
Práce s dokumentací Rails Testování řadiče
113 113
Vytvoření akce Vytvoření pohledu Představení architektury model-pohled-řadič Řadič Pohled Model Jak zajistit pohledu práci Kombinování kódu Ruby a HTML v pohledu Předávání data z akce do pohledu Opis citlivého textu Přidání druhé akce Výběr vykreslovaného pohledu Jak vykreslit jakoukoli šablonu Napojení na jinou akci
114 116 118 119 119 120 120 123 126 129 130 134 136 136
5
Obsah Souhrn Cvičení
5. Sestavování jednoduchých aplikací Rails Přístup k datům zadávaným uživatelem Čtení dat z textových políček Čtení dat ze zaškrtávacích políček Jak to funguje
Čtení dat z přepínačů Čtení dat z ovládacích prvků výběru Použití zkratek Rails pro ovládací prvky HTML Práce s modely Vázání ovládacích prvků k modelům Inicializování dat v ovládacích prvcích Ukládání dat v relacích Souhrn Cvičení
6. Připojení k databázím Seznámení s databázemi Vytvoření aplikace Rails s podporou dat Vytvoření databáze Nastavení přístupu k databázi Vytvoření řadiče a modelu Pojmenování modelu Pojmenování řadiče Spuštění aplikace obchod Přidání záznamu do aplikace obchod Zobrazení nového záznamu Použití rozvržení Použití šablony stylů Zobrazení záznamů
Přidání dalšího záznamu Úprava záznamů Jak to funguje
Vylepšení zobrazení Souhrn Cvičení
7. Práce s databázemi Zobrazení položek zákazníkovi Získání prodávaných položek
6
138 138
139 139 139 143 145
146 148 153 159 161 166 168 172 172
173 173 176 176 179 181 182 183 184 185 190 191 192 194
196 198 199
202 204 204
205 205 206
Obsah Zobrazení prodávaných položek Vytvoření nákupního košíku Návrh nákupního košíku Vytvoření tabulky nákupů Vytvoření modelu nákupu Vytvoření košíku Uložení košíku v relaci Zpracování nákupu Zobrazení košíku Kombinování nákupů v košíku Vyprázdnění košíku Jak umožnit uživateli kdykoli si zobrazit košík Souhrn Cvičení
8. Ověřování a testování Ověřování existence údajů Ověření číselných údajů Ověření jedinečnosti údajů Vytvoření aplikace Kontrolor Ověřování formátu údajů Ověření existence v seznamu Ověření zaškrtnutí políčka Ověřování potvrzení hesel Ověření délky textu Jak napsat vlastní ověřovací metodu Testování modelu Používání předpokladů rovnosti Používání obecných předpokladů Použití jiných záznamů Testování řadiče Souhrn Cvičení
9. Řízení akcí pomocí řadiče Lepší směrování Vytváření prvků cookie Sestavení prvku cookie Čtení prvku cookie Vytvoření filtru Přihlašování s filtry Použití následných filtrů
208 211 211 212 214 217 219 221 223 227 231 233 236 236
237 237 240 242 245 246 248 251 253 255 258 260 265 266 267 268 271 272
273 273 279 279 282 285 290 298
7
Obsah Přímé vykreslování textu Kešování Souhrn Cvičení
10. Celkový obraz s pohledy Vytváření kódu XML Vytváření atributů XML Použití pomocných pohledů Použití stránkování pohledů Použití částečných šablon Předávání údajů do částečných pohledů Souhrn Cvičení
11. Ajax a Rails Práce s Ajaxem Přístup k datům Ajaxu Práce s XML a Ajaxem Použití ovládacích prvků HTML a Ajaxu Vyhledávání pomocí Ajaxu Vizuální efekty Souhrn Cvičení
A. Odpovědi na cvičení Odpovědi na cvičení v kapitole 1 Odpovědi na cvičení v kapitole 2 Odpovědi na cvičení v kapitole 3 Odpovědi na cvičení v kapitole 4 Odpovědi na cvičení v kapitole 5 Odpovědi na cvičení v kapitole 6 Odpovědi na cvičení v kapitole 7 Odpovědi na cvičení v kapitole 8 Odpovědi na cvičení z kapitoly 9 Odpovědi na cvičení v kapitole 10 Odpovědi na cvičení v kapitole 11
Rejstřík
8
303 305 307 307
309 309 314 317 323 329 331 334 334
335 335 339 343 348 353 356 359 360
361 361 361 362 363 365 369 370 373 373 375 375
379