Jestem nowy w Rails, więc mój obecny projekt jest w dziwnym stanie.
Jedną z pierwszych rzeczy, które wygenerowałem, był model „Film”. Następnie zacząłem definiować go bardziej szczegółowo, dodałem kilka metod itp.
Teraz zdaję sobie sprawę, że powinienem to wygenerować, rails generate scaffold
aby podłączyć takie rzeczy, jak routing, widoki, kontroler itp.
Próbowałem wygenerować rusztowanie, ale wystąpił błąd, że plik migracji o tej samej nazwie już istnieje.
Jaki jest dla mnie najlepszy sposób tworzenia rusztowań dla mojego „filmu”? (za pomocą szyn 3)
Odpowiedzi:
TL; DR :
rails g scaffold_controller <name>
Nawet jeśli masz już model, nadal możesz wygenerować niezbędne pliki kontrolera i migracji, korzystając z tej
rails generate
opcji. Po uruchomieniurails generate -h
możesz zobaczyć wszystkie dostępne opcje.Jeśli chcesz wygenerować rusztowanie kontrolera dla swojego modelu, zobacz
scaffold_controller
. Dla jasności, oto opis tego:Aby stworzyć swój zasób, użyjesz
resource
generatora, a do stworzenia migracji możesz także zobaczyćmigration
generator (patrz, istnieje wzorzec całego tego szaleństwa). Zapewniają one opcje tworzenia brakujących plików w celu zbudowania zasobu. Alternatywnie możesz po prostu uruchomićrails generate scaffold
z--skip
opcją pominięcia istniejących plików :)Polecam poświęcić trochę czasu na sprawdzenie opcji wewnątrz generatorów. Są coś, co według mnie nie jest wyjątkowo dobrze udokumentowane w książkach, ale są bardzo przydatne.
źródło
rails generate scaffold_controller MyModel
nie generuje warstwy widoku, ale nie zawiera ona atrybutów modelu (kolumn tabeli) i trzeba je dodać ręcznie. Czy ktoś zna rozwiązanie tego problemu? Jestem na Railsach 3.2.8.generate scaffold
jeśli masz model, ale chcesz kontroler rusztowania i nowe atrybuty dodane do modelu, który chcesz,scaffold_generator
a następniemigration
pola, które zmieniaszŚwietna odpowiedź
Lee Jarvis
, to tylko polecenie np .; mamy już istniejący model o nazwie Użytkownik:źródło
Dla tych, którzy uruchamiają aplikację railsową z istniejącą bazą danych, istnieje fajny klejnot, który jest potrzebny
schema_to_scaffold
do wygenerowania skryptu rusztowania. generuje:od twojego
schema.rb
naszego przemianowanegoschema.rb.
Sprawdźźródło
W Rails 5 nadal możesz biegać
aby utworzyć wszystkie brakujące pliki rusztowań lub
aby utworzyć kontroler i tylko przeglądać.
Dla lepszego wyjaśnienia sprawdź rusztowanie na szynach
źródło
To polecenie powinno załatwić sprawę:
źródło
Możesz wykorzystać
scaffold_controller
i pamiętać o przekazaniuattributes
modelu, w przeciwnym razie rusztowanie zostanie wygenerowane bez atrybutów.To polecenie wygeneruje następujące pliki:
źródło