JETZT ONLINE BESTELLEN
Add to Cart
Rails Kochbuch (eBook)

1. Auflage Juli 2007

ISBN 978-3-89721-771-3
576 Seiten, PDF ca. 20.3 MB
EUR10.00
Gedruckte Ausgabe:


Weitere Informationen zu diesem Produkt

Volltextsuche im Buch bei Google Print

Inhaltsverzeichnis | Index | Kolophon | Ihr Feedback |


Inhaltsverzeichnis

	        

Vorwort XI


Kapitel 1: Erste Schritte   1

1.1 In die Rails-Community einsteigen 2
1.2 Dokumentation finden 4
1.3 MySQL installieren 5
1.4 PostgreSQL installieren 8
1.5 Rails installieren 11
1.6 Ruby anpassen und Rails unter OS X 10.4 Tiger installieren 13
1.7 Rails unter OS X mit Locomotive ausführen 15
1.8 Rails unter Windows mit Instant Rails ausführen 17
1.9 Rails mit RubyGems aktualisieren 19
1.10 Ihr Rails-Projekt in Subversion einfügen 20

Kapitel 2: Entwickeln mit Rails   25

2.1 Ein Rails-Projekt anlegen 25
2.2 Starthilfe bei der Entwicklung durch Scaffolding 28
2.3 Die Rails-Entwicklung mit Mongrel beschleunigen 30
2.4 Die Windows-Entwicklungsumgebung mit Cygwin erweitern 33
2.5 Die Pluralisierungsmuster von Rails verstehen 35
2.6 Rails-Entwicklung unter OS X mit TextMate 38
2.7 Plattformübergreifende Entwicklung mit RadRails 39
2.8 Edge Rails installieren und ausführen 42
2.9 Passwortfreie Authentifizierung mittels SSH einrichten 44
2.10 RDoc für Ihre Rails-Anwendung generieren 45
2.11 Vollständige CRUD-Anwendungen mit Streamlined generieren 48

Kapitel 3: Active Record   53

3.1 Eine relationale Datenbank für den Einsatz mit Rails einrichten 54
3.2 Datenbankschemata programmatisch definieren 58
3.3 Ihre Datenbank mit Migrations entwickeln 61
3.4 Eine Datenbank mit Active Record modellieren 65
3.5 Untersuchung der Modell-Beziehungen über die Rails-Console 68
3.6 Zugriff auf Ihre Daten über Active Record 72
3.7 Datensätze mittels find abrufen 73
3.8 Iteration über eine Active Record-Ergebnismenge 77
3.9 Daten effektiv abrufen mittels »Eager Loading« 79
3.10 Aktualisierung eines Active Record-Objekts 83
3.11 Datenintegrität über Active Record-Validierungen erzwingen 87
3.12 Eigene Queries ausführen mit find_by_sql 90
3.13 Schutz vor Race Conditions bei Transaktionen 94
3.14 Ein Modell mit acts_as_list um Sortierfähigkeiten erweitern 99
3.15 Einen Task ausführen, wenn ein Modellobjekt erzeugt wird 104
3.16 Modellierung eines Thread-fähigen Forums mit acts_as_nested_set 106
3.17 Ein Verzeichnis verschachtelter Themen mit acts_as_tree erzeugen 110
3.18 Race Conditions mit optimistischem Locking vermeiden 114
3.19 Tabellen mit veralteten Namenskonventionen behandeln 116
3.20 Record-Timestamping automatisieren 118
3.21 Ausgliedern gemeinsamer Beziehungen mit polymorphen
Assoziationen 120
3.22 Join-Modelle und Polymorphismus für die flexible
Datenmodellierung mischen 123

Kapitel 4: Action Controller   129

4.1 Aus einem Controller auf die Formulardaten zugreifen 130
4.2 Die Standardseite einer Anwendung ändern 133
4.3 Ihren Code mit benannten Routen verdeutlichen 134
4.4 Individuelles Routingverhalten konfigurieren 136
4.5 Hinweise mit Flash ausgeben 138
4.6 Die Lebenserwartung einer Flash-Meldung verlängern 140
4.7 Nachfolge-Aktionen mittels Redirects 141
4.8 URLs dynamisch generieren 142
4.9 Requests mit Filtern untersuchen 144
4.10 Logging mit Filtern 146
4.11 Das Rendering von Aktionen 149
4.12 Zugriff auf Controller-Methoden einschränken 150
4.13 Dateien oder Streams an den Browser senden 152
4.14 Session-Informationen in einer Datenbank speichern 153
4.15 Informationen mit Sessions nachhalten 155
4.16 Filter für die Authentifizierung nutzen 159

Kapitel 5: Action View   165

5.1 Templates mit View-Helpern vereinfachen 166
5.2 Seitenweise Ausgabe großer Datenmengen 168
5.3 Eine »sticky« Auswahlliste erzeugen 171
5.4 M-zu-M-Beziehungen mit Multiauswahllisten bearbeiten 174
5.5 Gemeinsamen Display-Code mit Layouts ausgliedern 177
5.6 Ein Standard-Anwendungslayout definieren 180
5.7 XML mit Builder-Templates ausgeben 181
5.8 RSS-Feeds aus Active Record-Daten generieren 183
5.9 Wiederverwendung von Seitenelementen mit Partials 185
5.10 Verarbeitung dynamisch erzeugter Eingabefelder 188
5.11 Das Verhalten von Standard-Helpern anpassen 192
5.12 Ein Web-Formular mit Formular-Helpern erzeugen 194
5.13 Formatierung von Datum, Uhrzeit und Währung 199
5.14 Benutzerprofile mit Gravataren personalisieren 201
5.15 Gefährlichen Code in Views mit Liquid-Templates vermeiden 203
5.16 Globalisierung Ihrer Rails-Anwendung 207

Kapitel 6: REST-orientierte Entwicklung   213

6.1 Aufbau verschachtelter Ressourcen 216
6.2 Alternative Datenformate über den MIME-Typ unterstützen 220
6.3 Modellierung REST-orientierter Beziehungen mit Join-Modellen 223
6.4 Mit REST-orientierten Ressourcen über einfaches CRUD hinaus 226
6.5 Komplexe, verschachtelte REST-Ressourcen verarbeiten 230
6.6 REST-orientierte Entwicklung Ihrer Rails-Anwendungen 233

Kapitel 7: Rails-Anwendungen testen   239

7.1 Zentralisierung des Anlegens von Objekten für Testfälle 240
7.2 Fixtures für M-zu-M-Beziehungen anlegen 241
7.3 Testdaten mit CSV-Fixtures importieren 244
7.4 Dynamische Daten mit ERb in Fixtures einbinden 246
7.5 Initialisierung einer Testdatenbank 248
7.6 Controller interaktiv über die Rails-Konsole testen 250
7.7 Die Ausgaben von Test::Unit interpretieren 251
7.8 Testdaten mit YAML-Fixtures laden 253
7.9 Überwachung der Test-Abdeckung mit rake stats 255
7.10 Tests mit rake ausführen 256
7.11 Tests mit transaktionalen Fixtures beschleunigen 258
7.12 Mit Integrationstests über Controller hinweg testen 259
7.13 Controller mit funktionalen Tests überprüfen 263
7.14 Den Inhalt von Cookies untersuchen 266
7.15 Eigene und benannte Routen testen 269
7.16 HTTP-Requests mit Response-bezogenen Assertions testen 271
7.17 Ein Modell mit Unit-Tests überprüfen 273
7.18 Unit-Tests von Modell-Validierungen 275
7.19 Die DOM-Struktur mit Tag-bezogenen Assertions verifizieren 278
7.20 Eigene Assertions entwickeln 281
7.21 Das Hochladen von Dateien testen 283
7.22 Das Standardverhalten einer Klasse für Tests modifizieren 286
7.23 Das Feedback durch kontinuierliche Tests verbessern 289
7.24 Code-Abdeckung analysieren mit Rcov 290

Kapitel 8: JavaScript und Ajax   295

8.1 DOM-Elemente in eine Seite einfügen 296
8.2 Maßgeschneiderte Berichte mit Drag-and-Drop 300
8.3 Elemente dynamisch in eine Auswahlliste einfügen 304
8.4 Die Länge eines Textfeldes überwachen 307
8.5 Seitenelemente mit RJS-Templates aktualisieren 311
8.6 JavaScript in Templates einfügen 314
8.7 Listen durch Benutzer neu anordnen lassen 317
8.8 Autovervollständigung in einem Textfeld 321
8.9 Text dynamisch suchen und hervorheben 323
8.10 Die Benutzerschnittstelle mit visuellen Effekten anreichern 326
8.11 Eine Livesuche implementieren 331
8.12 Felder »in Place« editieren 335
8.13 Eine Ajax-Fortschrittsanzeige erzeugen 338

Kapitel 9: Action Mailer   341

9.1 Rails für den Mail-Versand konfigurieren 342
9.2 Eine eigene Mailer-Klasse mit dem Mailer-Generator erzeugen 343
9.3 E-Mails mit Hilfe von Templates formatieren 345
9.4 Dateien an E-Mails anhängen 347
9.5 E-Mail aus einer Rails-Anwendung heraus senden 348
9.6 E-Mail empfangen mit Action Mailer 349

Kapitel 10: Debugging von Rails-Anwendungen   353

10.1 Rails über die Konsole untersuchen 354
10.2 Bugs mit ruby -cw an der Quelle beheben 357
10.3 Ihre Anwendung in Echtzeit mit dem Breakpointer debuggen 358
10.4 Logging mit der fest in Rails eingebauten Logger-Klasse 362
10.5 Debugging-Informationen in eine Datei schreiben 365
10.6 Anwendungs-Ausnahmen per E-Mail senden 368
10.7 Umgebungsinformationen in Views ausgeben 372
10.8 Objekt-Inhalte über Ausnahmen ausgeben 374
10.9 Entwicklungs-Logs in Echtzeit filtern 375
10.10 Die HTTP-Kommunikation mit Firefox-Erweiterungen debuggen 376
10.11 Ihren JavaScript-Code in Echtzeit mit der JavaScript-Shell debuggen 378
10.12 Interaktives Debugging Ihres Codes mit ruby-debug 381

Kapitel 11: Sicherheit   387

11.1 Ihre Systeme mit starken Passwörtern sicherer machen 387
11.2 Queries vor SQL-Injection schützen 390
11.3 Schutz vor Cross-Site-Scripting-Angriffen 392
11.4 Zugriffe auf öffentliche Methoden oder Aktionen beschränken 394
11.5 Ihren Server durch Schließen ungenutzter Ports schützen 396

Kapitel 12: Performance   399

12.1 Webserver-Performance mit Httperf messen 401
12.2 Benchmarking von Teilen Ihres Anwendungscodes 403
12.3 Die Performance durch das Caching statischer Seiten erhöhen 405
12.4 Gecachte Seiten entfernen 408
12.5 Statische und dynamische Inhalte über Fragment-Caching mischen 410
12.6 Filtern im Cache liegender Seiten mit Action Caching 414
12.7 Datenzugriffe mit memcached beschleunigen 415
12.8 Die Performance durch das Caching nachbearbeiteter Inhalte erhöhen 419

Kapitel 13: Hosting und Deployment   423

13.1 Hosting von Rails mit Apache 1.3 und mod_fastcgi 424
13.2 Verwaltung mehrerer Mongrel-Prozesse mit mongrel_cluster 426
13.3 Hosting von Rails mit Apache 2.2, mod_proxy_balancer und Mongrel 429
13.4 Rails mittels Pound vor Mongrel, Lighttpd und Apache einbinden 433
13.5 Das Pound-Logging über cronolog anpassen 438
13.6 Pound mit SSL-Unterstützung konfigurieren 441
13.7 Einfaches Load-Balancing mit Pen 443
13.8 Deployment Ihres Rails-Projekts mit Capistrano 445
13.9 Deployment Ihrer Anwendung mit Capistrano in mehrere
Umgebungen 448
13.10 Deployment mit Capistrano ohne Zugriff auf Ihr Repository 450
13.11 Deployment mit Capistrano und mongrel_cluster 453
13.12 Deaktivierung Ihrer Website während der Wartung 455
13.13 Eigene Capistrano-Tasks entwickeln 458
13.14 Übrig gebliebene Session-Records aufräumen 463

Kapitel 14: Rails über Plugins erweitern   465

14.1 Plugins von Drittanbietern aufspüren 466
14.2 Plugins installieren 468
14.3 Record-Versionen mit acts_as_versioned manipulieren 469
14.4 Authentifizierung mit acts_as_authenticated 473
14.5 Folksonomy mit acts_as_taggable vereinfachen 477
14.6 Active Record mit acts_as erweitern 483
14.7 View-Helper als Plugins zu Rails hinzufügen 488
14.8 Dateien mit file_column hochladen 490
14.9 Dateien mit acts_as_attachment hochladen 493
14.10 Datensätze deaktivieren statt löschen mit acts_as_paranoid 498
14.11 Anspruchsvollere Authentifizierung mit der Login-Engine 499

Kapitel 15: Grafiken   505

15.1 RMagick für die Bildbearbeitung installieren 505
15.2 Images in eine Datenbank hochladen 510
15.3 Images direkt aus einer Datenbank liefern 514
15.4 Größenveränderte Thumbnails mit RMagick erzeugen 516
15.5 PDF-Dokumente generieren 519
15.6 Daten visuell aufbereiten mit Gruff 522
15.7 Kleine, informative Diagramme erzeugen mit Sparklines 524

Anhang: Neue Features in Rails 1.2   529

Index 533



	

Zurück zu Rails Kochbuch (eBook)


Themen

Buchreihen

Special Interest

International Sites

O'Reilly China O'Reilly USA O'Reilly Japan O'Reilly Taiwan