Co to jest rusztowanie w Ruby on Rails?

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 twojego config/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!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.