Pracuję w środowisku RoR 2.3.5. Stworzyłem sobie model Produkt, i wykonałem polecenie:
script/generate scaffold product title:string description:string
Dane pobierane są z bazy danych mysql.
Teraz chcę dodać nowe pole do istniejącego już modelu, np: price:decimal. Czy muszę wykonywać jeszcze raz polecenie:
script/generate scaffold product title:string description:string price:decimal
?
W momencie gdy pól jest około 10 staje się to dość kłopotliwe. Nie ma możliwości dołączenia do już istniejącego rusztowania dodatkowego pola?
Oczywiście że jest to możliwe.
- Musisz zrobić migrację dodającą pole w bazie:
http://www.apohllo.pl/guides/migrations.html#zmienianie-tabel - W widokach dodać odpowidenie pole ręcznie (zajrzyj do plików w katalogu app/views/products powinieneś wiedzieć o co chodzi).
Scaffold to sposób na szybkie prototypowanie, w większości przypadków widoki pisze się jednak ręcznie.
Faktycznie edycja widoku to dodanie jednej linijki wzorem pozostałych zawartych w pliku. Muszę jednak dokonywać zmian w każdym z widoków związanych z modelem i to jest właśnie uciążliwe.