7 Rails-Projekte erstellen
Nachdem Sie in den letzten beiden Kapiteln zwei Rails-Applikationen an praktischen Beispielen kennen gelernt haben, möchten wir Ihnen in diesem Kapitel die Struktur und die Konfiguration einer Rails-Applikation erläutern.
Rails 2.0
Bevor Sie ein neues Rails-Projekt anlegen, überprüfen Sie bitte die Version Ihrer Rails-Installation. Sie sollten mindestens Rails 2.0.2 verwenden. Mit dem Befehl rails -v können Sie überprüfen, welche Version Sie installiert haben.
rails -v Rails 2.0.2
Sollten Sie noch eine ältere Version installiert haben, so aktualisieren Sie bitte Ihre Rails-Version (siehe Kapitel 2).
7.1 Generieren eines Rails-Projektes
rails
Mit dem Befehl rails pfad/projektname wird ein neues Projekt erzeugt. Falls das Verzeichnis projektname nicht existiert, wird es erstellt.
Während der Ausführung des rails-Befehls wird ausgegeben, welche Verzeichnisse und Dateien erstellt werden:
rails pfad/name_des_projektes create create app/controllers create app/helpers ... create log/development.log create log/test.log
Datenbank festlegen
Als Standard-Datenbanksystem wird seit Rails 2.0.2 SQLite3 verwendet.
Wenn Sie ein anderes Datenbanksystem nutzen möchten, können Sie mit Hilfe des Parameters -d oder --database angeben, welches Datenbanksystem verwendet werden soll. Diese Einstellung kann aber auch noch nachträglich jederzeit durch Anpassung der Datei config/database.yml geändert werden (siehe Abschnitt 7.4).
rails -d mysql demo1 rails --database postgresql demo2
Freeze Rails
Für die Ausführung von Rails werden normalerweise die installierten RubyGems-Pakete verwendet. Die Variable RAILS_GEM_VERSION der Datei config/environment.rb gibt an, welche Rails-Version benutzt werden soll. Wenn die Rails-Applikation z. B. mit script/server gestartet wird, wird überprüft, ob die entsprechende Version (z. B. 2.0.2) als RubyGems-Paket installiert ist. Ist dies nicht der Fall, so wird die Installation abgebrochen.
Listing Auszug aus config/environment.rb
... RAILS_GEM_VERSION = '2.0.2' ... ...
Rails updaten
Sie können die Versionsnummer ändern, wenn Sie eine andere Rails-Version verwenden möchten. Angenommen, Sie haben gerade Rails 2.0.3 installiert, dann sollten Sie die Versionsnummer in config/environment.rb anpassen, um die neueste Version in Ihrer Rails-Applikation zu verwenden. Anschließend sollten Sie den Rake-Task rake rails:update ausführen.
Nicht selten tritt der Fall auf, dass Sie zwar auf Ihrem Entwicklungsrechner die richtige Version installiert haben, auf dem Server jedoch nicht. Wenn Sie selbst der Administrator des Servers sind, können Sie das schnell nachholen, sonst bitten Sie den zuständigen Administrator darum. Es gibt jedoch eine Alternative, um die Installation der spezifischen Version auf dem Server zu umgehen.
Es ist möglich, die aktuellsten RubyGems-Pakete für Rails, die auf Ihrem System installiert sind, in das Rails-Projekt zu importieren.
Dieser Vorgang wird als freeze (»einfrieren«) bezeichnet.
Um die Rails-Version für ein Projekt »einzufrieren«, nutzen Sie beim Erzeugen des Projekts die Option -f oder --freeze . Die RubyGems-Pakete werden dann in das Verzeichnis vendor/rails kopiert.
rails -f demo3
Sie können die Rails-Version für ein Projekt auch im Nachhinein mit folgendem Rake-Task »einfrieren«:
rake rails:freeze:gems
Es ist auch möglich, die neueste Entwickler-Version (EdgeRails) »einzufrieren«. Siehe Abschnitt 7.12 .
Mit dem Rake-Task rake rails:unfreeze wird das Verzeichnis vendor/rails wieder entfernt.
Rails-Befehl auf vorhandenem Projekt anwenden
Optionen
Um den rails -Befehl auf einem bereits vorhandenen Rails-Projekt auszuführen, stehen drei Optionen zur Verfügung:
- -p, --pretend
Bewirkt, dass die Ausgabe des rails -Befehls erfolgt, ohne dass der Befehl ausgeführt wird.
- --force
Bewirkt, dass der rails -Befehl ausgeführt wird und dass bereits vorhandene Dateien ohne Rückfrage überschrieben werden.
- -s, --skip
Bewirkt, dass der rails -Befehl ausgeführt wird und dass bereits vorhandene Dateien nicht überschrieben werden (ohne Rückfrage).
Sonstige Optionen
Folgende weitere Optionen stehen für den rails -Befehl zur Verfügung:
- -r, --ruby=pfad
Möglichkeit, den Pfad zum Ruby-Interpreter anzugeben. Ist nur interessant, wenn mehrere Ruby-Versionen installiert sind. Wird in der Regel nicht benötigt.
- -q, --quiet
Unterdrückt die Ausgabe während der Ausführung des rails -Befehls.
- -c, --svn
Fügt automatisch alle generierten Ordner und Dateien dem SVN-Repository hinzu (svn add). Das Übertragen ins Repository (svn commit) muss manuell erfolgen.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.