Railsy są oparte o wzorzec MVC. Zaczynamy od M (model)Model w railsach to wzorzec ActiveRecord. Nie jestem fanem tego rozwiązania, ale na razie chcę poznać Railsy z całym dobrodziejstwem inwentarza.
Chcę stworzyć pierwszy model: autor z polami: name i surname.Z poziomu terminala wykonuję komendę:
rails generate model Author name:string surname:string
Zamiast:
rails generate ...
Można używać:
rails g ...
Mamy teraz klasę:
app/models/author.rb
Klasa jest pusta (tylko dziedziczy po ApplicationRecord). Właściwości są generowane na podstawie struktury tabeli.
Gdybyśmy chcieli usunąć model:
rails destroy model author
Migracja bazy danych
Drugi wygenerowany plik, to migracja bazy danych. Zapis zmian w strukturze bazy danych. W naszym przypadku jest to utworzenie nowej tabeli:
authors.db/migrate/data_czas_create_authors.rb
Żeby zmigrować schemat bazy danych, na której pracujemy, trzeba wykonać instrukcję:
rake db:migrate
Migracje można cofać. Ostatnią migrację cofamy za pomocą:
rake db:rollback
Można cofnąć kilka ostatnich migracji, np: 3
rake db:rollback STEP=3
Możemy sprawdzić, które migracje zostały wykonane na naszej bazie, a które nie:
rake db:migrate:status
Do migracji wrócę jeszcze w jednej z kolejnych części.
Zapis / edycja modelu w bazie z poziomu konsoli
Uruchamiamy konsolę:
rails console
Wpisujemy:
Author.all a = Author.new a.name = “Jacek” a.surname = “Dukaj” a.save Author.all
Zapisaliśmy pierwszego autora do bazy. Teraz czas na wygenerowanie widoków i kontrolerów, ale to już w następnej części.