7.7 Rails-Konsole
ruby script/console
Mit dem Befehl ruby script/console starten Sie die Rails-Konsole. Innerhalb der Rails-Konsole stehen Ihnen alle Klassen Ihrer Applikation zur Verfügung. Das heißt, Sie können hier z. B. auf alle Models Ihrer Applikation zugreifen, um nach ActiveRecord-Objekten zu suchen, sie zu testen oder sie sogar zu verändern.
In PHP würde man dafür direkt auf die Datenbank zugreifen. In Rails macht man das nicht, sondern arbeitet über die Konsole mit den Objekten. Die Konsole wird häufig eingesetzt, sogar auf dem Produktionsserver.
Beim Aufruf von ruby script/console wird, wie bereits im Abschnitt 7.5 erwähnt, standardmäßig die Entwicklungsumgebung geladen. Wenn Sie eine andere Umgebung, zum Beispiel die Produktionsumgebung, laden wollen, übergeben Sie dem Befehl den Namen der Umgebung:
ruby script/console production
Wenn Sie die Konsole nur zum Testen von ActiveRecord-Objekten nutzen wollen, also sicherstellen wollen, dass Sie keine Werte verändern, können Sie die Konsole mit dem Parameter -s oder --sandbox aufrufen. Das bewirkt, dass alle Änderungen beim Verlassen der Konsole wieder rückgängig gemacht werden.
Um zum Beispiel die Daten des ersten Mitarbeiters aus unserer Beispiel-Applikation employees aus Kapitel 3 in der Konsole auszugeben, starten wir zunächst aus dem Projektverzeichnis heraus die Konsole und suchen den ersten Datensatz. Als Rückgabewert wird der Datensatz ausgegeben:
ruby script/console Loading development environment (Rails 2.0.2) >> employee = Employee.find(1) => #<Employee id: 1, firstname: "Lee", lastname: "Adama", birthday: "2007-04-16", email: "lee.adama@railsair.com", comment: "Wird auch 'Apollo' genannt", created_at: "2007-12-23 09:50:31", updated_at: "2007-12-23 09:50:31", freelancer: nil, country: nil, title: nil, department_id: nil>
Methode y
Mit Hilfe der Methode y können wir die Ausgabe im YAML-Format formatieren:
>> y employee --- !ruby/object:Employee attributes: updated_at: 2007-12-23 09:50:31 title: country: id: "1" firstname: Lee lastname: Adama birthday: "2007-04-16" freelancer: department_id: comment: Wird auch "Apollo" genannt email: lee.adama@railsair.com created_at: 2007-12-23 09:50:31 attributes_cache: {}
Bei Änderungen am Code Konsole neu starten |
Wenn Sie in der Konsole arbeiten, während Sie entwickeln, müssen Sie darauf achten, dass Sie, nachdem Sie Änderungen am Code vorgenommen haben, entweder die Konsole beenden (exit) und neu starten oder mit dem Befehl reload! die Applikation neu laden. |
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.