Ruby on Rails - Verzeichnisstruktur
Wenn Sie das Rails-Hilfsskript zum Erstellen Ihrer Anwendung verwenden, wird die gesamte Verzeichnisstruktur für die Anwendung erstellt. Rails weiß, wo sich die benötigten Dinge in dieser Struktur befinden, sodass Sie keine Eingaben machen müssen.
Hier ist eine Ansicht der obersten Ebene eines Verzeichnisbaums, der zum Zeitpunkt der Anwendungserstellung vom Hilfsskript erstellt wurde. Mit Ausnahme geringfügiger Änderungen zwischen den Releases hat jedes Rails-Projekt dieselbe Struktur und dieselben Namenskonventionen. Diese Konsistenz bietet Ihnen einen enormen Vorteil. Sie können schnell zwischen Rails-Projekten wechseln, ohne die Organisation des Projekts neu zu lernen.
Um diese Verzeichnisstruktur zu verstehen, verwenden wir die demoAnwendung im Kapitel Installation erstellt. Es kann mit einem einfachen Hilfsbefehl erstellt werdenrails demo.
Gehen Sie nun wie folgt in das Stammverzeichnis der Demo-Anwendung:
tp> cd demo
demo> dir
Sie finden eine Verzeichnisstruktur in Windows wie folgt:
Lassen Sie uns nun den Zweck jedes Verzeichnisses erklären
app- Es organisiert Ihre Anwendungskomponenten. Es verfügt über Unterverzeichnisse, die die Ansicht (Ansichten und Helfer), den Controller (Controller) und die Backend-Geschäftslogik (Modelle) enthalten.
app/controllers- Im Unterverzeichnis des Controllers sucht Rails nach den Controller-Klassen. Ein Controller verarbeitet eine Webanforderung des Benutzers.
app/helpers- Das Unterverzeichnis helpers enthält alle Hilfsklassen, die zur Unterstützung der Modell-, Ansichts- und Controller-Klassen verwendet werden. Dies hilft, den Modell-, Ansichts- und Controller-Code klein, fokussiert und übersichtlich zu halten.
app/models- Das Unterverzeichnis models enthält die Klassen, die die in der Datenbank unserer Anwendung gespeicherten Daten modellieren und umschließen. In den meisten Frameworks kann dieser Teil der Anwendung ziemlich chaotisch, langweilig, ausführlich und fehleranfällig werden. Rails macht es ganz einfach!
app/view - Das Unterverzeichnis views enthält die Anzeigevorlagen, mit denen Sie Daten aus unserer Anwendung ausfüllen, in HTML konvertieren und zum Browser des Benutzers zurückkehren können.
app/view/layouts- Enthält die Vorlagendateien für Layouts, die mit Ansichten verwendet werden sollen. Dies modelliert die übliche Kopf- / Fußzeilenmethode zum Umschließen von Ansichten. Definieren Sie in Ihren Ansichten ein Layout mit dem Layout <tt>: default </ tt> und erstellen Sie eine Datei mit dem Namen default.html.erb. Rufen Sie in default.html.erb <%ield%> auf, um die Ansicht mit diesem Layout zu rendern.
components - Dieses Verzeichnis enthält Komponenten, winzige eigenständige Anwendungen, die Modell, Ansicht und Controller bündeln.
config- Dieses Verzeichnis enthält die geringe Menge an Konfigurationscode, die Ihre Anwendung benötigt, einschließlich Ihrer Datenbankkonfiguration (in database.yml), Ihrer Rails-Umgebungsstruktur (environment.rb) und dem Routing eingehender Webanforderungen (route.rb). Sie können das Verhalten der drei Rails-Umgebungen auch für Test, Entwicklung und Bereitstellung mit Dateien anpassen, die sich im Umgebungsverzeichnis befinden.
db- Normalerweise verfügt Ihre Rails-Anwendung über Modellobjekte, die auf relationale Datenbanktabellen zugreifen. Sie können die relationale Datenbank mit Skripten verwalten, die Sie erstellen und in diesem Verzeichnis ablegen.
doc- Ruby verfügt über ein Framework namens RubyDoc, mit dem automatisch Dokumentation für den von Ihnen erstellten Code erstellt werden kann. Sie können RubyDoc mit Kommentaren in Ihrem Code unterstützen. Dieses Verzeichnis enthält alle von RubyDoc generierten Rails und Anwendungsdokumentationen.
lib - Sie werden hier Bibliotheken ablegen, es sei denn, sie gehören ausdrücklich an eine andere Stelle (z. B. Herstellerbibliotheken).
log- Fehlerprotokolle finden Sie hier. Rails erstellt Skripte, mit denen Sie verschiedene Fehlerprotokolle verwalten können. Sie finden separate Protokolle für den Server (server.log) und jede Rails-Umgebung (development.log, test.log und Production.log).
public - Wie das öffentliche Verzeichnis für einen Webserver enthält dieses Verzeichnis nicht geänderte Webdateien, z. B. JavaScript-Dateien (public / javascripts), Grafiken (public / images), Stylesheets (public / stylesheets) und HTML-Dateien (public) ).
script- Dieses Verzeichnis enthält Skripte zum Starten und Verwalten der verschiedenen Tools, die Sie mit Rails verwenden. Beispielsweise gibt es Skripte zum Generieren von Code (Generieren) und Starten des Webservers (Server).
test- Die Tests, die Sie schreiben und die, die Rails für Sie erstellt, finden Sie hier. Sie sehen ein Unterverzeichnis für Mocks (Mocks), Unit-Tests (Unit), Fixtures (Fixtures) und Functional Tests (Functional).
tmp - Rails verwendet dieses Verzeichnis, um temporäre Dateien für die Zwischenverarbeitung zu speichern.
vendor - Bibliotheken, die von Drittanbietern bereitgestellt werden (z. B. Sicherheitsbibliotheken oder Datenbankdienstprogramme, die über die grundlegende Rails-Distribution hinausgehen), finden Sie hier.
Abgesehen von diesen Verzeichnissen stehen im Demoverzeichnis zwei Dateien zur Verfügung.
README - Diese Datei enthält ein grundlegendes Detail zur Rail-Anwendung und eine Beschreibung der oben erläuterten Verzeichnisstruktur.
Rakefile- Diese Datei ähnelt Unix Makefile, das beim Erstellen, Verpacken und Testen des Rails-Codes hilft. Dies wird vom Rake-Dienstprogramm verwendet, das zusammen mit der Ruby-Installation geliefert wird.