O'Reilly eBook
-
- Weitere Informationen zu diesem Produkt:
Inhaltsverzeichnis | Index | Kolophon | Ihr Feedback |
- Weitere Informationen zu diesem Produkt:
JETZT ONLINE BESTELLEN
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
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)
