Ruby on Rails - Struktura katalogów
Kiedy używasz skryptu pomocniczego Rails do tworzenia aplikacji, tworzy on całą strukturę katalogów dla aplikacji. Railsy wiedzą, gdzie znaleźć potrzebne elementy w tej strukturze, więc nie musisz podawać żadnych danych wejściowych.
Oto widok najwyższego poziomu drzewa katalogów utworzonego przez skrypt pomocniczy w czasie tworzenia aplikacji. Z wyjątkiem drobnych zmian między wydaniami, każdy projekt Rails będzie miał taką samą strukturę, z tymi samymi konwencjami nazewnictwa. Ta konsekwencja daje ogromną przewagę; możesz szybko przemieszczać się między projektami Rails bez ponownego uczenia się organizacji projektu.
Aby zrozumieć tę strukturę katalogów, użyjmy demoaplikacja stworzona w rozdziale Instalacja. Można go utworzyć za pomocą prostego polecenia pomocnikarails demo.
Teraz przejdź do katalogu głównego aplikacji demonstracyjnej w następujący sposób -
tp> cd demo
demo> dir
Znajdziesz strukturę katalogów w systemie Windows w następujący sposób -
Teraz wyjaśnijmy cel każdego katalogu
app- Porządkuje komponenty aplikacji. Zawiera podkatalogi, które przechowują widok (widoki i pomoce), kontroler (kontrolery) i logikę biznesową zaplecza (modele).
app/controllers- Podkatalog controllers to miejsce, w którym Railsy szukają klas kontrolerów. Kontroler obsługuje żądanie internetowe od użytkownika.
app/helpers- Podkatalog helperów zawiera wszelkie klasy pomocnicze używane do wspomagania klas modelu, widoku i kontrolera. Pomaga to zachować mały, skoncentrowany i uporządkowany model, widok i kod kontrolera.
app/models- Podkatalog models zawiera klasy, które modelują i opakowują dane przechowywane w bazie danych naszej aplikacji. W większości frameworków ta część aplikacji może stać się dość niechlujna, żmudna, rozwlekła i podatna na błędy. Railsy sprawiają, że jest to banalnie proste!
app/view - Podkatalog views zawiera szablony wyświetlania do wypełnienia danymi z naszej aplikacji, konwersji do formatu HTML i powrotu do przeglądarki użytkownika.
app/view/layouts- Przechowuje pliki szablonów dla układów do użycia z widokami. To modeluje powszechną metodę zawijania widoków nagłówka / stopki. W swoich widokach zdefiniuj układ za pomocą <tt> layout: default </tt> i utwórz plik o nazwie default.html.erb. Wewnątrz default.html.erb wywołaj <% yield%>, aby wyrenderować widok przy użyciu tego układu.
components - Ten katalog zawiera komponenty, małe samodzielne aplikacje, które zawierają model, widok i kontroler.
config- Ten katalog zawiera niewielką ilość kodu konfiguracyjnego, którego będzie potrzebować aplikacja, w tym konfigurację bazy danych (w database.yml), strukturę środowiska Railsów (environment.rb) i routing przychodzących żądań internetowych (route.rb). Możesz także dostosować zachowanie trzech środowisk Railsowych do testowania, programowania i wdrażania za pomocą plików znajdujących się w katalogu environment.
db- Zazwyczaj Twoja aplikacja Railsowa będzie miała obiekty modelu, które mają dostęp do tabel relacyjnej bazy danych. Możesz zarządzać relacyjną bazą danych za pomocą skryptów, które tworzysz i umieszczasz w tym katalogu.
doc- Ruby ma strukturę zwaną RubyDoc, która może automatycznie generować dokumentację dla tworzonego kodu. Możesz pomóc RubyDoc w komentarzach w swoim kodzie. Ten katalog zawiera wszystkie Railsy wygenerowane przez RubyDoc i dokumentację aplikacji.
lib - Tutaj umieścisz biblioteki, chyba że wyraźnie należą one gdzie indziej (na przykład biblioteki dostawców).
log- Tutaj znajdują się dzienniki błędów. Railsy tworzą skrypty, które pomagają w zarządzaniu różnymi dziennikami błędów. Znajdziesz osobne dzienniki dla serwera (server.log) i każdego środowiska Rails (development.log, test.log i production.log).
public - Podobnie jak katalog publiczny serwera WWW, katalog ten zawiera pliki internetowe, które się nie zmieniają, takie jak pliki JavaScript (public / javascripts), grafiki (public / images), arkusze stylów (public / stylesheets) i pliki HTML (public ).
script- Ten katalog zawiera skrypty do uruchamiania i zarządzania różnymi narzędziami, których będziesz używać z Railsami. Na przykład istnieją skrypty do generowania kodu (generowania) i uruchamiania serwera WWW (serwera).
test- Testy, które piszesz i te, które tworzy dla Ciebie Rails, znajdują się tutaj. Zobaczysz podkatalog dla makiet (mocków), testów jednostkowych (jednostkowych), urządzeń (urządzeń) i testów funkcjonalnych (funkcjonalnych).
tmp - Railsy używają tego katalogu do przechowywania plików tymczasowych do pośredniego przetwarzania.
vendor - Biblioteki dostarczane przez zewnętrznych dostawców (takie jak biblioteki bezpieczeństwa lub narzędzia bazodanowe poza podstawową dystrybucją Rails) znajdują się tutaj.
Oprócz tych katalogów w katalogu demo będą dostępne dwa pliki.
README - Ten plik zawiera podstawowe szczegóły dotyczące aplikacji kolejowej i opis struktury katalogów wyjaśnionej powyżej.
Rakefile- Ten plik jest podobny do Unix Makefile, który pomaga w budowaniu, pakowaniu i testowaniu kodu Railsów. Będzie to używane przez narzędzie rake dostarczane wraz z instalacją Rubiego.