Pewnie uczysz się Railsów &czytasz, że musisz stworzyć „rusztowanie” aby uruchomić swoją aplikację Rails…
Łatwe!
Możesz to zrobić używając komendy rails g scaffold
.
Ale co to jest rusztowanie?
„Rusztowanie to tymczasowa konstrukcja używana do wspierania ekipy roboczej, aby pomóc w budowie, konserwacji i naprawie budynków, mostów i wszystkich innych konstrukcji stworzonych przez człowieka.” – Wikipedia
Tłumaczenie na Rails:
Rusztowanie to zestaw automatycznie generowanych plików, które tworzą podstawową strukturę projektu Rails.
Pliki te obejmują:
- Kontroler
- Model
- Widoki dla każdej standardowej akcji kontrolera (index, edit, show, new)
Nową trasę.
I migracja, aby przygotować twoją bazę danych.
Zobaczmy przykład!
How to Use The Rails Scaffold Command
Przykład rusztowania projektu dla strony o książkach wyglądałby tak.
rails g scaffold books
Powinieneś zobaczyć wiele przewijającego się tekstu, który wyszczególnia tworzone pliki.
Ten przykład tworzy:
- A
BooksController
- A
Book
model - Nową
resources :books
trasę dodaną do twojegoconfig/routes.rb
pliku - Zestaw plików związanych z testowaniem
- Przeglądaj pliki pod
app/views/books
(w sumie pięć)
Tak.
To dużo rzeczy.
Jeśli chcesz cofnąć to rusztowanie, zaraz po jego utworzeniu, możesz użyć następującego polecenia.
rails d scaffold books
Gdzie „d” oznacza „zniszcz”.
Pamiętaj, że to usunie pliki utworzone przez proces tworzenia rusztowania.
Teraz:
Zanim będziesz mógł użyć swojego rusztowanego kodu, musisz uruchomić migracje, aby zaktualizować schemat bazy danych.
Użyj polecenia rails db:migrate
.
Jeśli nie pojawią się żadne komunikaty o błędach, jesteś gotowy! Masz podstawową strukturę dla swojej nowej aplikacji Rails lub dla nowej funkcjonalności, która potrzebuje nowego modelu, widoków & odpowiedniego kontrolera.
Następnie:
Uruchom rails server
.
Otwórz przeglądarkę na localhost:3000/books
& powinieneś być w stanie zobaczyć wyniki!
Rails Scaffolding With Extra Fields
Domyślnie…
Twój model dostaje tylko pola timestamp, co oznacza, że jedyną informacją, jaką możesz zapisać o swoich książkach (lub jakimkolwiek innym modelu, z którym pracujesz) jest czas, w którym zostały one utworzone lub zaktualizowane.
Tutaj jest sposób na rusztowanie z dodatkowymi polami:
rails g scaffold books title:string author:string publication_year:integer
Jeśli wygenerujesz swoje rusztowanie w ten sposób, będziesz miał 3 pola do pracy.
Tytuł, autor i rok publikacji.
To trochę bardziej interesujące niż po prostu posiadanie znaczników czasowych bazy danych.
Btw.
To ta sama składnia, której używamy do tworzenia migracji za pomocą rails g migration
.
Generowanie specyficznych komponentów
Skafolding tworzy rzeczy, których możesz teraz nie potrzebować lub nie chcieć.
Ale Railsy są miłe.
Możesz tworzyć pojedyncze komponenty, jak kontrolery, używając polecenia rails g
(g jak generate).
Przykłady:
rails g controller Fruit
-
rails g model Fruit name:string color:string
(tworzy model + migrację) -
rails g migration CreateBook title:string year:integer
(tworzy tylko migrację)
Jedną z dużych korzyści używania polecenia scaffolding jest to, że wszystkie pliki są tworzone przy użyciu poprawnych konwencji nazewnictwa, co pozwala uniknąć dziwnych komunikatów o błędach. Oszczędza to również pracy związanej z ręcznym tworzeniem tych plików.
Btw…
Dobrą praktyką jest usuwanie automatycznie wygenerowanych plików, których nie planujesz używać. Tak więc po użyciu generatora takiego jak „g controller”, przejrzyj listę utworzonych plików & usuń te, których nie potrzebujesz.
Podsumowanie
Dowiedziałeś się o rusztowaniach w Rubim, dzięki czemu możesz szybko uruchomić nową aplikację Rails do ćwiczeń.
W miarę jak będziesz się więcej uczył, możesz chcieć zrezygnować z rusztowania.
Ale nadal możesz generować pojedyncze kontrolery, modele lub pliki widoków, kiedy będziesz ich potrzebował.
Dzięki za przeczytanie! 🙂
Dzięki za przeczytanie!