Ruby on Rails: Unterschied zwischen den Versionen
Meberl (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Meberl (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 2: | Zeile 2: | ||
[[Ruby on Rails|(Ruby on) Rails]] ist ein freies, leichtgewichtiges Web-Framework. Es erlaubt die schnelle Entwicklung von | [[Ruby on Rails|(Ruby on) Rails]] ist ein freies, leichtgewichtiges Web-Framework. Es erlaubt die schnelle Entwicklung von | ||
datenbank-gestützten Web-Applikatinen nach dem [[Model-View-Controller-Paradigma]]. | datenbank-gestützten Web-Applikatinen nach dem [[Model-View-Controller-Paradigma]]. | ||
=Philosophie= | |||
'''Convention over Configuration:''' | |||
Es muss nur das konfiguriert werden, was nicht den konventionen enspricht. | |||
'''Don't repeat yourself:''' | |||
Redundanz soll vermieden werden. So ist es zum Beispiel möglich das Aussehen der Seite in einem sog. Layout zu definieren. | |||
Dies geschieht dann an nur einer Stelle. | |||
=Bemerkungen= | =Bemerkungen= | ||
Zeile 7: | Zeile 15: | ||
[[Ruby on Rails]] wurde von [[David Heinemeier Hansson]] bei der Firma [[37signals]] entwickelt. | [[Ruby on Rails]] wurde von [[David Heinemeier Hansson]] bei der Firma [[37signals]] entwickelt. | ||
Viele [[Web 2.0]] Sites bzw. Anwendungen basieren auf [[Ruby on Rails]]. | Viele [[Web 2.0]] Sites bzw. Anwendungen basieren auf [[Ruby on Rails]]. | ||
= Projekt erzeugen: = | |||
rails --database DBTYPE ApplicationName | |||
Erzeugte Verzeichnisse und Dateien: | |||
* **app** - Enthält Komponenten der Application | |||
* **controllers** - Controller klassen, bearbeitet Benutzer anfragen | |||
* **helpers** - Hilfsklassen die zur unterstüzung dienen | |||
* **models** - Datenmodel und Schnittstelle zur Datenbank | |||
* **views** - Templates, liefert das Ergebnis an den Benutzer zurück | |||
* **db** - Datenbankklassen | |||
* **lib** - Ordner fuer zusätliche bibliotheken | |||
* **public** - Ordner statische files | |||
* **test** - Ordner fuer automatische tests | |||
* **vendor** - Ordner fuer 3rd party libs | |||
* **config** - Konfigurationsdateien | |||
* **doc** - Zielordner fuer die von RubyDoc generierte Dokumentation | |||
* **log** - Error logs werden hier gespeichert | |||
* **script** - Tools fuer rails (z.b. server start) | |||
* **tmp** - Temporäre dateien | |||
* **README** | |||
* **Rakefile** - Ruby Make, ein werkzeug zum erstellen, packen und testen von rails code | |||
= Controller und View anlegen = | |||
Um einen neuen Controller und View zu erstellen kann das ''generate'' Skript verwendet werden. | |||
''./script/generate controller ControllerName ActionName'' | |||
Nun werden die Dateien für den Controller und die dazugehörigen View erzeugt. | |||
=Was enthält eine View= | |||
Die View ist die Schnittstelle zum Benutzer und wird in diesem Fall mit HTML welches in einem Webbrowser angezeigt wird, realisiert. | |||
Alle Views sind im Verzeichnis ''app/view/''. Dort liegen die zu den einzelnen Actions gehörenden Views in Unterordnern mit dem Namen des Controllers. | |||
Vor der Version 2.0 war die Dateiendung von views ''.rhtml'', aktuell ist allerdings ''.html.erb''. | |||
Um ein allgemeines Design zu ermöglichen kann mit sogenannten Layouts gearbeitet werden. So können Elemente wie Footer, Header und Navigation die Seitenübergreifend gleich bleiben ausgelagert werden. | |||
In den View Dateien kann der Entwickler mit Ruby dynamische Serverseitige erzeugen. Die Tags <% %> und <%= %> werden verwendet um Ruby-Code ausführen zu lassen. Die erste Variante wertet nur aus, die Zweite weret aus und setzt die zurück gegebenen Werte in die HTML seite. | |||
Es gibt von Rails bereitgestellte Ruby Funktionen um Tags zu erzeugen. Das einfachste Beispiel ist die erstellung eines Links : | |||
<%= link_to "Login" , :action => :login %> | |||
Das Ergebnis dieses Aufrufs sieht wie folgt aus: | |||
<a href="/webshop/login">Login</a> | |||
= Quellen = | = Quellen = |
Version vom 2. Juli 2008, 10:00 Uhr
Definition
(Ruby on) Rails ist ein freies, leichtgewichtiges Web-Framework. Es erlaubt die schnelle Entwicklung von datenbank-gestützten Web-Applikatinen nach dem Model-View-Controller-Paradigma.
Philosophie
Convention over Configuration: Es muss nur das konfiguriert werden, was nicht den konventionen enspricht.
Don't repeat yourself: Redundanz soll vermieden werden. So ist es zum Beispiel möglich das Aussehen der Seite in einem sog. Layout zu definieren. Dies geschieht dann an nur einer Stelle.
Bemerkungen
Ruby on Rails wurde von David Heinemeier Hansson bei der Firma 37signals entwickelt. Viele Web 2.0 Sites bzw. Anwendungen basieren auf Ruby on Rails.
Projekt erzeugen:
rails --database DBTYPE ApplicationName
Erzeugte Verzeichnisse und Dateien:
* **app** - Enthält Komponenten der Application * **controllers** - Controller klassen, bearbeitet Benutzer anfragen * **helpers** - Hilfsklassen die zur unterstüzung dienen * **models** - Datenmodel und Schnittstelle zur Datenbank * **views** - Templates, liefert das Ergebnis an den Benutzer zurück * **db** - Datenbankklassen * **lib** - Ordner fuer zusätliche bibliotheken * **public** - Ordner statische files * **test** - Ordner fuer automatische tests * **vendor** - Ordner fuer 3rd party libs * **config** - Konfigurationsdateien * **doc** - Zielordner fuer die von RubyDoc generierte Dokumentation * **log** - Error logs werden hier gespeichert * **script** - Tools fuer rails (z.b. server start) * **tmp** - Temporäre dateien * **README** * **Rakefile** - Ruby Make, ein werkzeug zum erstellen, packen und testen von rails code
Controller und View anlegen
Um einen neuen Controller und View zu erstellen kann das generate Skript verwendet werden.
./script/generate controller ControllerName ActionName
Nun werden die Dateien für den Controller und die dazugehörigen View erzeugt.
Was enthält eine View
Die View ist die Schnittstelle zum Benutzer und wird in diesem Fall mit HTML welches in einem Webbrowser angezeigt wird, realisiert. Alle Views sind im Verzeichnis app/view/. Dort liegen die zu den einzelnen Actions gehörenden Views in Unterordnern mit dem Namen des Controllers. Vor der Version 2.0 war die Dateiendung von views .rhtml, aktuell ist allerdings .html.erb. Um ein allgemeines Design zu ermöglichen kann mit sogenannten Layouts gearbeitet werden. So können Elemente wie Footer, Header und Navigation die Seitenübergreifend gleich bleiben ausgelagert werden.
In den View Dateien kann der Entwickler mit Ruby dynamische Serverseitige erzeugen. Die Tags <% %> und <%= %> werden verwendet um Ruby-Code ausführen zu lassen. Die erste Variante wertet nur aus, die Zweite weret aus und setzt die zurück gegebenen Werte in die HTML seite.
Es gibt von Rails bereitgestellte Ruby Funktionen um Tags zu erzeugen. Das einfachste Beispiel ist die erstellung eines Links : <%= link_to "Login" , :action => :login %> Das Ergebnis dieses Aufrufs sieht wie folgt aus:
<a href="/webshop/login">Login</a>
Quellen
Links
Bitte die Regeln der GlossarWiki-Quellenformatierung beachten.