 |
|
 |
|
Galileo Computing. Wissen, wie’s geht.
|
 |
Ruby on Rails 2 Das Entwickler-Handbuch 978-3-89842-779-1 |
| Inhaltsverzeichnis |
TEIL I ... GRUNDLAGEN
1 ... Einführung ... 27
1.1 ... Wie entstand Rails? ... 27
1.2 ... Warum Ruby? ... 28
1.3 ... ModelViewController ... 30
1.4 ... Datenbankpersistenz ... 31
1.5 ... Konvention statt Konfiguration
... 31
1.6 ... Das DRY-Prinzip ... 32
1.7 ... Das neue Web 2.0 ... 32
1.8 ... Neues in Rails2.0.x ... 33
1.9 ... Update auf Rails 2.0.x ... 36
2 ... Installation ... 41
2.1 ... Allgemeines ... 41
2.2 ... Installation unter Mac OSX ...
42
... 2.2.1 ... Updaten von Komponenten
unter Leopard ... 43
... 2.2.2 ... Installation von My SQL
unter Leopard ... 44
... 2.2.3 ... Installation von Ruby on
Rails mit MacPorts ... 45
2.3 ... Installation unter Windows ...
48
... 2.3.1 ... Installation von
InstantRails ... 48
... 2.3.2 ... Der Instant RailsManager
... 49
... 2.3.3 ... Eine Rails-Applikation
erstellen und starten ... 49
... 2.3.4 ... Datenbankenverwalten mit
phpMyAdmin ... 52
... 2.3.5 ... Gem-Pakete verwalten ...
52
... 2.3.6 ... Generatoren ... 53
2.4 ... InstallationunterLinux ... 53
... 2.4.1 ... Installation von MySQL ...
53
... 2.4.2 ... Installation von SQLite3
... 54
... 2.4.3 ... Installation von
PostgreSQL ... 54
... 2.4.4 ... Installation von Ruby ...
54
... 2.4.5 ... Installation von RubyGems
... 54
... 2.4.6 ... Installation von Rails und
anderen Gem-Paketen ... 55
2.5 ... Editoren und
Entwicklungsumgebungen ... 55
... 2.5.1 ... TextMate ... 55
... 2.5.2 ... E-Text-Editor ... 56
... 2.5.3 ... Vim ... 56
... 2.5.4 ... Emacs ... 56
... 2.5.5 ... Aptana ... 56
... 2.5.6 ... NetBeans ... 57
... 2.5.7 ... IntelliJIDEA ... 57
... 2.5.8 ... CodeGear3rdRail ... 58
... 2.5.9 ... Visual Studio ... 58
3 ... Erste Schritte ... 59
3.1 ... Eine Rails-Applikation erstellen
... 59
3.2 ... Der lokale Rails-Server ... 60
3.3 ... Grundgerüst mit Scaffolds
erstellen ... 61
3.4 ... Die Applikation im Browser
aufrufen ... 63
3.5 ... HTTP-Authentifizierung ... 64
4 ... Einführung in Ruby ... 67
4.1 ... Was ist Ruby? ... 67
4.2 ... Ruby-Code ausführen ... 68
... 4.2.1 ... Quelltext ... 69
... 4.2.2 ... Interaktive RubyShell–irb
... 69
... 4.2.3 ... Im Webbrowser TryRuby ...
70
4.3 ... Grundlagen ... 71
... 4.3.1 ... Variablen ... 72
... 4.3.2 ... Objekte und Datentypen ...
73
... 4.3.3 ... Verzweigungen ... 78
... 4.3.4 ... Überprüfen auf Gleichheit
... 81
... 4.3.5 ... Schleifen ... 82
... 4.3.6 ... Klassen ... 84
4.4 ... Zahlen ... 88
4.5 ... Zeichenketten ... 91
... 4.5.1 ... here-document ... 93
... 4.5.2 ... Ausdrücke in Zeichenketten
... 94
... 4.5.3 ... Die Methode length ...
95
... 4.5.4 ... Die Methode split ... 96
... 4.5.5 ... Zeichenketten formatieren
... 97
... 4.5.6 ... Groß- und Kleinschrift ...
98
... 4.5.7 ... Teilstrings ... 99
... 4.5.8 ... In Zeichenketten suchen
... 101
... 4.5.9 ... Etwas einer Zeichenkette
hinzufügen ... 102
... 4.5.10 ... Angehängte Zeichen
löschen ... 103
... 4.5.11 ... Leerräume löschen ...
104
... 4.5.12 ... Zeichenketten wiederholen
... 104
... 4.5.13 ... Komma-separierte Daten
analysieren ... 104
... 4.5.14 ... Strings in
Zahlenkonvertieren ... 105
... 4.5.15 ... Zeichenketten
verschlüsseln ... 107
... 4.5.16 ... Zeichen in einer
Zeichenkette zählen ... 108
... 4.5.17 ... Eine Zeichenkette
umkehren ... 108
... 4.5.18 ... Doppelte Zeichen
entfernen ... 109
... 4.5.19 ... Bestimmte Zeichen
entfernen ... 109
... 4.5.20 ... Leerräume drucken ...
110
4.6 ... Symbole ... 110
4.7 ... Reguläre Ausdrücke ... 111
... 4.7.1 ... Syntax von Regulären
Ausdrücken ... 111
... 4.7.2 ... Anwendungsbeispiele aus
der Praxis ... 113
4.8 ... Arrays ... 116
... 4.8.1 ... Ein Array erzeugen ...
116
... 4.8.2 ... Auf Arrayelemente
zugreifen ... 117
... 4.8.3 ... Auf die Länge eines Arrays
zugreifen ... 120
... 4.8.4 ... Arrays vergleichen ...
120
... 4.8.5 ... Ein Array sortieren ...
121
... 4.8.6 ... Ein Array zufällig
sortieren ... 123
... 4.8.7 ... Nach Elementen in einem
Array suchen ... 123
... 4.8.8 ... Differenz zwischen zwei
Arrays bestimmen ... 125
... 4.8.9 ... nil-Werte aus einem Array
entfernen ... 126
... 4.8.10 ... Bestimmte Array-Elemente
entfernen ... 126
... 4.8.11 ... Ein Array umkehren ...
127
... 4.8.12 ... Doppelte Einträge aus
einem Array löschen ... 128
... 4.8.13 ... Iteratoren ... 128
4.9 ... Hashes ... 130
... 4.9.1 ... Einen Hash erzeugen ...
130
... 4.9.2 ... Zugriff auf Elemente eines
Hashs ... 132
... 4.9.3 ... Schlüssel-Wert-Paare
löschen ... 134
... 4.9.4 ... Über einen Hash iterieren
... 135
... 4.9.5 ... Schlüssel und Wert in
einem Hash vertauschen ... 136
... 4.9.6 ... Schlüssel und Wert ein
einem Hash finden ... 136
... 4.9.7 ... Einen Hash in ein Array
extrahieren ... 137
... 4.9.8 ... Nach Schlüssel-Wert-Paaren
suchen ... 138
... 4.9.9 ... Einen Hash sortieren ...
138
... 4.9.10 ... Zwei Hashes miteinander
mischen ... 139
... 4.9.11 ... Einen Hash aus einem
Array erzeugen ... 139
4.10 ... Datum und Zeit ... 139
... 4.10.1 ... Die aktuelle Zeit
bestimmen ... 140
... 4.10.2 ... Mit bestimmten Zeiten
arbeiten ... 140
... 4.10.3 ... Einen Wochentag bestimmen
... 141
... 4.10.4 ... Mit der Unix-Zeitarbeiten
... 142
... 4.10.5 ... Einen Tag im Jahr
ermitteln ... 142
... 4.10.6 ... Wochenzahlen ermitteln
... 143
... 4.10.7 ... Schaltjahre bestimmen ...
144
... 4.10.8 ... Uhrzeiten ausgeben ...
144
... 4.10.9 ... Datums- und Zeitwerte
vergleichen ... 145
... 4.10.10 ... Mit Datums-und
Zeitwerten rechnen ... 145
... 4.10.11 ... Datums- und Zeitwerte
aus Zeichenketten ermitteln ... 146
4.11 ... Module ... 147
... 4.11.1 ... Namensräume ... 147
... 4.11.2 ... Mix ins ... 148
TEIL II: ... BEISPIEL-APPLIKATIONEN
5 ... Eine einfache
Bookmarkverwaltung ... 153
5.1 ... Rails-Projekt erstellen ...
154
... 5.1.1 ... Erstellung des
Bookmarks-Controllers ... 156
... 5.1.2 ... View erstellen ... 159
5.2 ... Weitere Views anlegen ... 163
5.3 ... Layout ... 165
5.4 ... Model ... 171
... 5.4.1 ... Migrations ... 173
... 5.4.2 ... Active Record ... 175
... 5.4.3 ... Datenbankzugriff in der
Konsole testen ... 176
5.5 ... CRUD–Create–Read–Update–Delete
... 180
5.6 ... Fehlerbehandlung in Formularen
... 192
5.7 ... Flash-Messages ... 197
5.8 ... Refaktorisierung mit Helper und
Partials ... 200
... 5.8.1 ... Helper ... 200
... 5.8.2 ... Partials ... 203
5.9 ... Authentifizierung ... 206
5.10 ... Routing ... 216
... 5.10.1 ... Benannte Routen ... 220
... 5.10.2 ... Dieroot-Route ... 221
5.11 ... RESTful Rails ... 223
5.12 ... Darstellungsformate in
RESTfulRails ... 230
5.13 ... Ajax ... 232
... 5.13.1 ... Einbinden von
JavaScript-Bibliotheken für Ajax ...
233
... 5.13.2 ... Ajaxbasierte Formulare
... 234
... 5.13.3 ... Ajax im Controller ...
235
... 5.13.4 ... RJS-Templates ... 237
6 ... Test-Driven Development ...
241
6.1 ... Was ist TDD? ... 241
6.2 ... Vorstellung des Projekts ...
243
6.3 ... Projekt erstellen und
konfigurieren ... 245
6.4 ... Unit-Tests ... 246
... 6.4.1 ... Erstellung des
Country-Models ... 246
... 6.4.2 ... Erstellung des
Airport-Models ... 257
... 6.4.3 ... Erstellung des
Flight-Models ... 264
6.5 ... Functional-Tests erstellen ...
269
... 6.5.1 ... Der Functional-Test des
Flights-Controllers ... 270
... 6.5.2 ... Fixtures in die
Entwicklungsdatenbank laden ... 274
... 6.5.3 ... Anzeigender
Flughafen-Codes ... 275
... 6.5.4 ... Datumswerte formatieren
... 276
... 6.5.5 ... Select-Felder zur
Flughafenauswahl ... 277
... 6.5.6 ... Weitere Funktionen zur
Übung ... 279
... 6.5.7 ...
Integration-/Acceptance-Tests erstellen
... 279
... 6.5.8 ... Integration-Test mit Rails
... 280
6.6 ... Autotest ... 282
... 6.6.1 ... Installation ... 282
... 6.6.2 ... Verwendung ... 282
6.7 ... Referenz ... 283
... 6.7.1 ... Rake-Tasks für Tests ...
283
... 6.7.2 ... Die wichtigsten
Assert-Befehle ... 283
TEIL III: ... DAS RAILS-FRAMEWORK
7 ... Rails-Projekte erstellen ...
289
7.1 ... Generieren eines Rails-Projektes
... 289
... 7.1.1 ... Datenbank festlegen ...
289
... 7.1.2 ... Freeze Rails ... 290
... 7.1.3 ... Rails-Befehl auf
vorhandenem Projekt anwenden ... 291
... 7.1.4 ... Sonstige Optionen ...
291
7.2 ... Verzeichnisstruktur einer
Rails-Applikation ... 292
7.3 ... Namenskonventionen ... 294
7.4 ... Datenbank-Konfiguration ...
296
7.5 ... Umgebungseinstellungen ... 299
... 7.5.1 ... Entwicklungsumgebung
(development) ... 300
... 7.5.2 ... Produktionsumgebung
(production) ... 300
... 7.5.3 ... Testumgebung (test) ...
302
... 7.5.4 ... Eigene Umgebungen anlegen
... 303
... 7.5.5 ... Cleanup your environment
... 303
7.6 ... Generatoren ... 304
... 7.6.1 ... Verwendung ... 304
... 7.6.2 ... Übersicht aller
Generatoren ... 305
... 7.6.3 ... Rückgängig machen ...
307
7.7 ... Rails-Konsole ... 308
7.8 ... Lokaler Server ... 309
7.9 ... Logging ... 310
7.10 ... Debugging ... 311
... 7.10.1 ... Installation von
ruby-debug ... 311
... 7.10.2 ... Breakpoint setzen ...
312
... 7.10.3 ... Server mit Debugger
starten ... 312
... 7.10.4 ... Debugger-Konsole ...
313
... 7.10.5 ... Ausführung fortsetzen ...
313
7.11 ... Rake ... 314
7.12 ... EdgeRails ... 319
7.13 ... Ein Rails-Projekt in Subversion
überführen ... 319
... 7.13.1 ... Ein Rails-Projekt in
Subversion importieren ... 320
... 7.13.2 ... Ein Rails-Projekt aus
Subversion auschecken ... 322
... 7.13.3 ... Ignorieren von Dateien
... 322
8 ... Templatesystem mit ActionView
... 325
8.1 ... ERB-Templates ... 326
8.2 ... Erstellung von Templates ...
328
8.3 ... Helper ... 329
... 8.3.1 ... Helper für Verlinkungen
... 330
... 8.3.2 ... Helper zum Einbinden von
Stylesheets und JavaScripts ... 337
... 8.3.3 ... Helper zur
Zahlenformatierung ... 339
... 8.3.4 ... Helper zur
Textmanipulation ... 342
... 8.3.5 ... Helper zur
Textformatierung ... 345
... 8.3.6 ... Helper zur Entfernung von
HTML-Code ... 346
... 8.3.7 ... Sonstige Helper ... 347
... 8.3.8 ... Eigene Helper entwickeln
... 350
8.4 ... Layouts ... 351
8.5 ... Formulare ... 353
... 8.5.1 ... Formulare mit Bezug zu
einem Model ... 353
... 8.5.2 ... Validierung ... 379
... 8.5.3 ... Formulare mit Bezug zu
mehr als einem Model ... 385
... 8.5.4 ... Formulare ohne Bezug zu
einem Model ... 387
8.6 ... Partials ... 389
... 8.6.1 ... Übergabe von Parametern
mit: locals ... 391
... 8.6.2 ... Partials mit Ressourcen
... 392
... 8.6.3 ... Shared Partials ... 394
... 8.6.4 ... Layout-Partials ... 396
8.7 ... Alternative Template-Systeme ... 396
9 ... Steuerzentrale mit
ActionController ... 399
9.1 ... Grundlagen ... 399
9.2 ... Aufgaben des Controllers ...
401
... 9.2.1 ... Daten aus HTTP-Anfragen
empfangen ... 401
... 9.2.2 ... Datenbankabfragen über
Model-Klassen ... 403
... 9.2.3 ... Setzen und Abfragen von
Cookies ... 404
... 9.2.4 ... Setzen und Abfragen von
Sessions ... 405
... 9.2.5 ... Templates aufrufen ...
405
... 9.2.6 ... Setzen von
Flash-Nachrichten ... 408
... 9.2.7 ... Weiterleitungen ... 409
... 9.2.8 ... Senden von Dateien und
Daten ... 411
... 9.2.9 ... Authentifizierung ...
413
9.3 ... Filter ... 414
... 9.3.1 ... Filtertypen ... 414
... 9.3.2 ... Filter nur auf bestimmte
Actions anwenden ... 416
9.4 ... Routing ... 417
... 9.4.1 ... Das Standard-Routing ...
417
... 9.4.2 ... Routing-Regeln erstellen
... 419
... 9.4.3 ... Benannte Routen ... 420
... 9.4.4 ... Die root-Route ... 420
... 9.4.5 ... Komplexe Routings mit
Regulären Ausdrücken ... 422
... 9.4.6 ... Routing mit Angabe der
HTTP-Methode ... 423
... 9.4.7 ... Ressourcen ... 424
10 ... Datenbankzugriff mit
ActiveRecord ... 425
10.1 ... Einführung ... 425
... 10.1.1 ... Vor- und Nachteile ...
427
... 10.1.2 ... Unterstützte
Datenbanksysteme ... 428
... 10.1.3 ... Ein erstes Beispiel ...
429
... 10.1.4 ... Tabelle erstellen ...
431
10.2 ... Eine ActiveRecord-Model-Klasse
generieren ... 435
... 10.2.1 ... Generieren eines Models
mit dem Model-Generator ... 437
10.3 ... Rake-Tasks zum Verwalten von
Datenbanken ... 440
... 10.3.1 ... Erstellen und Löschen von
Datenbanken ... 440
... 10.3.2 ... Informationen über die
Datenbanken ... 440
... 10.3.3 ... Migrations ... 441
... 10.3.4 ... Fixtures ... 442
... 10.3.5 ... Testdatenbank ... 442
... 10.3.6 ... Schema-Dateien ... 443
... 10.3.7 ... Sessions ... 443
10.4 ... Getter-und Setter-Methoden ...
444
... 10.4.1 ... Überschreiben der
Getter-und Setter-Methoden ... 445
... 10.4.2 ... Automatische
Typ-Erkennung ... 445
10.5 ... Erstellen, bearbeiten und
löschen ... 446
... 10.5.1 ... Neues ActiveRecord-Objekt
erstellen ... 446
... 10.5.2 ... ActiveRecord-Objekt
erstellen und direkt speichern ... 447
... 10.5.3 ... Aktualisieren von
Objekten ... 447
... 10.5.4 ... Löschen von Objekten ...
448
10.6 ... Suchen ... 449
... 10.6.1 ... Suche nach IDs ... 450
... 10.6.2 ... Suche nach dem ersten
Datensatz oder Ausgabe aller Datensätze
... 451
... 10.6.3 ... Suchoptionen im Überblick
... 452
... 10.6.4 ... Suchbedingung
(:conditions) ... 453
... 10.6.5 ... Sortierreihenfolge
(:order) ... 455
... 10.6.6 ... Limitierender
Suchergebnisse ... 456
... 10.6.7 ... Suche mit dynamischen
Find-Methoden ... 457
... 10.6.8 ... Suche über SQL ... 458
10.7 ... Datenbankschema und Migrations
... 459
10.8 ... Migration-Skripte ... 460
... 10.8.1 ... Migration-Skripte
generieren ... 461
... 10.8.2 ... Änderungen ausführen ...
466
... 10.8.3 ... Änderungen rückgängig
machen ... 467
10.9 ... Migration-Befehle im Detail ...
467
... 10.9.1 ... Datentypen ... 467
... 10.9.2 ... Tabellenfelder verwalten
... 469
... 10.9.3 ... Tabellen verwalten ...
470
... 10.9.4 ... Indizes verwalten ...
472
... 10.9.5 ... Beispieldaten hinzufügen
... 473
... 10.9.6 ... SQL-Befehle direkt
verwenden ... 473
... 10.9.7 ... Schnappschuss eines
Datenbankschemas ... 474
10.10 ... Assoziationen ... 475
... 10.10.1 ...
Eins-zu-viele-Assoziationen (1:n) ...
475
... 10.10.2 ...
Eins-zu-eins-Assoziationen (1:1) ...
484
... 10.10.3 ...
Viele-zu-viele-Assoziationen (n:m) ...
487
... 10.10.4 ... Polymorphe Assoziationen
... 494
... 10.10.5 ... Mehrere Assoziationen
zum gleichen Model ... 498
... 10.10.6 ... Assoziationen mit
Bedingungen ... 499
... 10.10.7 ... Eine Assoziation um
eigene Methoden erweitern ... 502
10.11 ... Validierung ... 503
... 10.11.1 ... validates_acceptance_of
... 503
... 10.11.2 ... validation_associated
... 504
... 10.11.3 ...
validates_confirmation_of ... 505
... 10.11.4 ... validates_exclusion_of
... 506
... 10.11.5 ... validates_inclusion_of
... 507
... 10.11.6 ... validates_format_of ...
508
... 10.11.7 ...
validates_length_of/validates_size_of
... 508
... 10.11.8 ...
validates_numericality_of ... 511
... 10.11.9 ... validates_presence_of
... 512
... 10.11.10 ... validates_uniqueness_of
... 513
... 10.11.11 ... validates_each ...
514
10.12 ... Statistische Berechnungen ...
515
10.13 ... Callbacks ... 516
10.14 ... Vererbung ... 518
11 ... E-Mails verwalten mit
ActionMailer ... 523
11.1 ... Beispielprojekt:
Kontaktformular ... 523
11.2 ... HTML-E-Mails ... 535
11.3 ... E-Mails mit Anhängen ... 536
11.4 ... Konfiguration ... 536
12 ... Nützliche Helfer mit
ActiveSupport ... 539
12.1 ... Zahlen ... 540
... 12.1.1 ... Gerade und ungerade
Zahlen ... 540
... 12.1.2 ... Ordinalzahlen ... 540
... 12.1.3 ... Kapazitätseinheiten ...
541
... 12.1.4 ... Datum und Zeit ... 541
12.2 ... Zeichenketten ... 545
12.3 ... Arrays ... 546
12.4 ... Hashes ... 547
12.5 ... Datentypunabhängig ... 548
13 ... AjaxonRails ... 551
13.1 ... Grundlagen ... 551
13.2 ... JavaScript-Frameworks ... 552
... 13.2.1 ... Prototype ... 552
... 13.2.2 ... Script.aculo.us ... 552
... 13.2.3 ... Weitere Frameworks ...
553
13.3 ... Einbinden der
JavaScript-Bibliotheken ... 553
13.4 ... RJS:Ruby-JavaScript ... 555
... 13.4.1 ... RJS-Befehle einfügen ...
556
... 13.4.2 ... Aufrufen von RJS ...
557
... 13.4.3 ... Beispiel ... 559
13.5 ... Debugging mit Firebug ... 561
13.6 ... RJS-Referenz ... 564
... 13.6.1 ... Methoden zum Ein-und
Ausblenden von Elementen ... 564
... 13.6.2 ... Methoden zum Hinzufügen,
Ersetzen und Löschen von Elementen ...
565
... 13.6.3 ... Sonstige Methoden ... 567
14 ... RESTful Rails und Webservices
... 569
14.1 ... Was sind Webservices? ... 569
14.2 ... REST ... 570
... 14.2.1 ... Ressourcen/Nomen ...
571
... 14.2.2 ... HTTP-Methoden/Verben ...
572
14.3 ... RESTful Rails ... 573
... 14.3.1 ... Generatoren ... 573
... 14.3.2 ... Ressourcen ... 574
... 14.3.3 ... Verschachtelte Ressourcen
... 576
... 14.3.4 ... Namespaces ... 577
... 14.3.5 ... Singleton-Ressourcen ...
579
... 14.3.6 ... Ressourcenerweitern ...
582
14.4 ... Einen Webservice anbieten ...
584
... 14.4.1 ... Die Weboberfläche ...
584
... 14.4.2 ... Die API ... 585
14.5 ... Zugriff auf einen Webservice
mit ActiveResource ... 587
TEIL IV: ... RAILS IM EINSATZ
15 ... Rails mit Plug-ins erweitern
... 593
15.1 ... Plug-ins Grundlagen ... 593
... 15.1.1 ... Plug-ins installieren und
deinstallieren ... 594
... 15.1.2 ... Plug-ins-Quellenverwalten
... 596
15.2 ... Nützliche Plug-ins ... 597
... 15.2.1 ... Authentifizierung mit
Restful Authentication ... 597
... 15.2.2 ... Mehrsprachige
Applikationen mit Globalite ... 604
... 15.2.3 ... User-Fotos anzeigen mit
Gravatar ... 614
... 15.2.4 ... Fehlerbenachrichtigung
mit ExceptionNotifier ... 615
... 15.2.5 ... Weitere nützliche
Plug-ins ... 616
16 ... Performancesteigerung ...
619
16.1 ... Einführung ... 619
16.2 ... Page-Caching ... 620
... 16.2.1 ... Grundlagen ... 620
... 16.2.2 ... Caching im Controller
aktivieren ... 622
... 16.2.3 ... Einstellungen ... 622
... 16.2.4 ... Beispiel ... 623
... 16.2.5 ... Löschen von Cache-Dateien
... 624
... 16.2.6 ... Cachen der Root-Page ...
629
16.3 ... Action-Caching ... 631
... 16.3.1 ... Grundlagen ... 631
... 16.3.2 ... Beispiel ... 632
... 16.3.3 ... Löschen von Cache-Dateien
... 634
... 16.3.4 ... Verschiedene
Caching-Strategien mischen ... 635
16.4 ... Fragment-Caching ... 635
... 16.4.1 ... Grundlagen ... 635
... 16.4.2 ... Beispiel ... 636
... 16.4.3 ... Löschen von Cache-Dateien
... 638
16.5 ... Caching von CSS-und Java
Script-Dateien ... 640
... 16.5.1 ... Grundlagen ... 640
... 16.5.2 ... Beispiel ... 640
... 16.5.3 ... Löschen der Cache-Dateien
... 642
16.6 ... Caching mit memcached ... 642
... 16.6.1 ... Grundlagen ... 642
... 16.6.2 ... Installation ... 644
... 16.6.3 ... Installation des
memcached-Servers ... 644
... 16.6.4 ... Verwendung ... 645
... 16.6.5 ... Löschen des Caches ...
646
16.7 ... Zusammenfassung ... 646
17 ... Sicherheit ... 647
17.1 ... Warum Sicherheit wichtig ist
... 647
17.2 ... SQL Injection ... 647
17.3 ... Cross-Site-Scripting XSS ...
648
17.4 ... Cross-Site Request
Forgery(CSRF/XSRF) ... 650
17.5 ... Sessions ... 652
... 17.5.1 ... Session Hijacking ...
652
... 17.5.2 ... Session Fixation ...
652
17.6 ... Validierung ... 654
17.7 ... Reguläre Ausdrücke ... 655
18 ... Veröffentlichen einer
Rails-Applikation auf einem Server ...
657
18.1 ... Wahl des Providers ... 658
18.2 ... Einrichten des Servers ...
659
... 18.2.1 ... Wahl der Server-Software
... 659
... 18.2.2 ... Deploy-User anlegen ...
660
... 18.2.3 ... Paketmanagement
konfigurieren ... 661
... 18.2.4 ... Installation von
Subversion und Erstellung eines
Repository ... 663
... 18.2.5 ... Installation von Ruby und
Co ... 663
... 18.2.6 ... MySQL ... 664
... 18.2.7 ... Datenbank für das
Beispielprojekt anlegen ... 664
... 18.2.8 ... Installation von SQLite 3
... 665
... 18.2.9 ... Installation von Rails
... 665
... 18.2.10 ... Installation und
Konfiguration von Mongrel ... 666
... 18.2.11 ... Apache-Webserver ...
667
... 18.2.12 ... Module aktivieren ...
668
18.3 ... Konfigurieren der
Rails-Applikation auf dem Server ...
669
... 18.3.1 ... Konfiguration ... 669
... 18.3.2 ... Verzeichnis für
Railsprojekt erstellen ... 672
... 18.3.3 ... Statische Seite testen
... 672
... 18.3.4 ...
Mongrel-Cluster-Konfiguration
vorbereiten ... 672
18.4 ... Deployment mit Capistrano ...
673
... 18.4.1 ... Konfiguration der
Datenbank ... 673
... 18.4.2 ... Installation ... 674
... 18.4.3 ... Capistrano in
Rails-Applikation konfigurieren ...
674
... 18.4.4 ... Verzeichnisse auf dem
Server erstellen ... 675
... 18.4.5 ...
Mongrel-Cluster-Konfigurationsdatei auf
dem Server generieren ... 675
... 18.4.6 ... Übertragen und Starten
der Rails-Applikation ... 676
... 18.4.7 ... Die letzte Übertragung
rückgängig machen ... 677
... 18.4.8 ... Anzeigen einer
Wartungsseite ... 677
... 18.4.9 ... Übertragung einzelner
Dateien ... 680
... 18.4.10 ... Wie Capistrano einen
Deploy durchführt ... 681
... 18.4.11 ... Verzeichnisse, die nicht
im Repository sind, verwalten ... 684
... 18.4.12 ... Weitere Capistrano-Tasks
... 686
Index ... 689
Zurück zu »Ruby on Rails 2«
|
|
|
 |
|
|
 |