# Ruby on Rails

Dieses Buch steht im Regal Programmierung.

## Webentwicklung mit Ruby on Rails

* Tutorial und Nachschlagewerk
* für Rails 2.3

## Warum wir mit Rails arbeiten und was dieses Buch soll

Warum gab und gibt es so einen riesigen Hype um Ruby on Rails? Kann man mit Rails Webapplikationen wirklich um eine Größenordnung schneller entwickeln als mit Java- oder Php-Frameworks?
Das Wikibuch "Ruby on Rails" führt uns mit zwei Beispielprojekten in Rails ein. Dazu kommen Übersichten zu den Grundlagen von Rails und Exkurse in Sonderthemen, so dass sich das Buch auch als Nachschlagewerk eignet. Ergänzend empfehlen wir ein Buch über Ruby. Die Wikibooks dazu sind angefangen (deutsch: Ruby-Programmierung) oder halbfertig (englisch: Programming Ruby).
Die Einsteiger unter uns sollen nach den ersten Kapiteln selbständig Rails-Anwendungen entwickeln können. Erfahrene Entwickler finden Übersichten zum Nachschlagen und können in Exkursen ihr Wissen erweitern. Vielleicht kennt sich so mancher auch in einem noch nicht abgehandelten Gebiet richtig gut aus. Dann kann er, oder sagen wir Du, also dann kannst Du - auch einen Exkurs beisteuern.
Wir wollen der Entwicklung von Rails folgen und das Buch an neue Versionen anpassen. Außerdem soll der Bereich "Exkurse" auch nach Abschluss des Hauptteils weiter wachsen. Wenn Du Dir zutraust mitzuschreiben, wirf bitte einen Blick auf die Projektseite und melde Dich bei Oliver Haag.

## Zusammenfassung des Projekts

* Zielgruppe: Das Buch ist in erster Linie ein Tutorial für Anfänger mit Vorkenntnissen zur Webentwicklung. Also Leute die mit Begriffen wie "Objekt", "Datenbank", "HTML-Tag" oder "Post-Request" klarkommen. Weil das Buch für viele Themen kurze Übersichten enthält eignet es sich auch als Nachschlagewerk. Im Bereich Exkurse werden auch schwierige und exotische Themen behandelt, so dass einzelne Kapitel in diesem Teil wahrscheinlich auch für Rails-Profis interessant sind.
* Buchpatenschaft / Ansprechperson: Zur Zeit niemand. Buch darf übernommen werden.
* frühere Hauptautoren: Oliver Haag, Frank Schuster
* Sind Co-Autoren erwünscht? Ja
* Verwandte Wikibooks
** englisches Wiki-Buch über Ruby on Rails - behandelt Grundlagen - fertig.
** deutsches Wiki-Buch über Ruby - angefangen.
** englisches Wiki-Buch über Ruby - fortgeschritten.
* Projektseite: Ruby on Rails: Projektseite.
* Aktueller Status:

## Inhalt
### Ruby on Rails - Einführung und Überblick

    Warum und wie Rails entstanden ist | Ruby als Grundlage einer DSL für Webapplikationen | Architektur und besondere Eigenschaften von Rails

### Erste Schritte mit Rails

    Wir erstellen eine erste Webapplikation. Ziel ist es einen Eindruck zu bekommen, wie effizient man mit Rails arbeiten kann. Deshalb machen wir hier manche Dinge einfach und bitten diejenigen, die sich für die Hintergründe interessieren, um Geduld bis zum nächsten Kapitel.

### Die Grundlagen von Rails

    Wir entwickeln eine Webapplikation und erläutern parallel die dafür benötigten Grundlagen.
   * Installation und Update [THEORIE] und [PRAXIS]
   * Schedule, unsere Webapplikation [PRAXIS]
   * CMS, Texte verwalten [PRAXIS]
* ActiveRecord 1 - die Datenbank mit Migrationen verändern
* ActiveRecord 2 - Daten speichern, lesen, ..(CRUD)
* ActiveRecord 3 - Beziehungen zwischen Tabellen modellieren
* ActiveRecord 4 - Daten validieren
* ActionController
* ActionView Grundlagen
* ActionView Formulare
* Tests
* Architektur [THEORIE]
* Kommandos

### Das Rails Umfeld

* Entwicklungsumgebung
* Versionskontrolle
* Testgetriebene Entwicklung

### Rails im Detail und fortgeschrittene Themen

* Routing und REST
* Vererbung modelieren (STI, ..)
* Komplexe Objekttrukturen mit Formularen füllen
* Logging, Debugging, Konsole
* Tests mit Rspec
* Dokumentation
* Deployment

### Entwicklungsmuster in Ruby und Ruby on Rails

* Composite Pattern mit Active Record modelieren

### Ausgewählte Exkurse

* Tipp und Tricks - Model (benannte Sql-Schemata)
* Tipps und Tricks - View (thin view, zyklische Formatierung)
* Ruby on Rails: Lokalisierung
* Tabellenlose Modelle
* Authentication
* Suche mit Ferret oder Liquid
* Ruby on Rails: Zeitzonen
* Versionierte Modelle mit acts_as_versioned
* statische Webseiten mit und ohne Rails
* Datenbank ansehen
* Grafiken erstellen
* Google API von Rails aus ansprechen
* Rails ohne Datenbank

### Anhang

* Kurzübersicht Ruby
* Kommandoübersicht
* Referenzen
* Glossar
* Witze
* Index
* Weblinks
* Literatur und Tutorials

## Links

* http://www.rubyonrails.org/ – Rails-Homepage (englisch)
* http://api.rubyonrails.org/ - Rails Api Documentation (englisch)
* http://de.wikipedia.org/wiki/Rails - Wikipedia Artikel zu Rails (deutsch)
Mehr siehe Anhang - Weblinks.