Chcę usunąć wszystkie utworzone przez siebie pliki i przywrócić wprowadzone zmiany, ale niekoniecznie do bazy danych, ale bardziej do plików konfiguracyjnych.
Chciałbym automatycznie usunąć wszystkie mapowania zasobów dla modelu / kontrolera usuniętego w pliku route.rb i wszędzie tam, gdzie mogły zostać wprowadzone zmiany?
ruby
ruby-on-rails-3
rails-generate
marcamillion
źródło
źródło
rails destroy scaffold lalalal
i to zadziałało.rails generate <gemname>:install
-f
flagą, aby zmusić go do odtworzenia / ponownej edycji plików… Następnie możesz zobaczyć, które pliki utworzył / zmienił i kontynuować ręczne usuwanie ich.Warto tu wspomnieć o
-p
fladze („p” dla udawania ).Jeśli dodasz to do polecenia, po prostu wykona „test” i pokaże, jakie pliki zostaną usunięte bez ich usuwania.
Jeśli jesteś zadowolony, uruchom komendę ponownie bez
-p
flagi.źródło
rails destroy controller Controller_name
zwracał wiele błędów. Aby móc zniszczyć kontroler, musiałem usunąć powiązane trasy w route.rb. PS Używam szyn 3.1źródło
Jest to prototyp generujący lub niszczący kontroler lub model w Railsach:
Na przykład, jeśli chcesz wygenerować kontroler użytkownika:
lub
Jeśli chcesz zniszczyć kontroler użytkownika lub przywrócić powyższą akcję, użyj:
lub:
źródło
Możesz użyć
rails d model/controller/migration ...
do zniszczenia lub usunięcia zmian wygenerowanych za pomocąrails generate
polecenia.Na przykład:
tworzy model o nazwie
home
z atrybutemname
. Aby usunąć pliki i kod wygenerowany z tego polecenia, możemy użyćźródło
Możesz zniszczyć wszystkie rzeczy, które zostały stworzone w ten sam sposób, z wyjątkiem drobnych zmian. Dla kontrolera
Do modelu
po prostu umieściłeś
d(destroy)
zamiastg(generate)
w migracji.źródło
Jeśli wolisz ręcznie usunąć kontroler:
Dla kontrolera
welcome
źródło
Możesz cofnąć swoje
dane wyjściowe przy użyciu:
źródło
Załóżmy, że utworzyłem kontroler o nazwie „sample”, taki jak:
Jeśli będę musiał zniszczyć ten kontroler, wszystko co musisz zrobić, to zamiana
generate
zdestroy
, jak wJeśli chcesz, aby odwrócić pokolenie, wszystko co musisz zrobić, to zamiana
generate
zdestroy
.źródło
Jeśli używasz Railsów, użyj
rails d controller Users
.A jeśli używasz Zeusa, użyj
zeus d controller Users
.Z drugiej strony, jeśli używasz git lub SVN, przywróć zmiany za pomocą numeru zatwierdzenia. To jest znacznie szybsze.
źródło
Możesz cofnąć a
rails generate
na następujące sposoby:rails destroy MODEL
rails destroy controller_name
źródło
Aby to odwrócić, po prostu to niszczymy. Otwórz aplikację Terminal i przejdź do katalogu projektu, a następnie wpisz:
Gdzie
CamelCase
jest nazwa dowolnego modelu lub kontrolera. Spowoduje to usunięcie modelu, migracji i niektórych powiązanych plików testowych. (Możesz zobaczyć wynik w oknie terminala po uruchomieniu polecenia.)źródło
Używamy generować jako
rails generate app
. Tak więcgenerate
ponowne generowanie dowolnej instrukcji można odwrócić za pomocądestroy
instrukcji. Wystarczy wymienićgenerate
zdestroy
IErails generate app
można zapisać jakorails destroy app'
szyny generować ____as
szyny zniszczyć ____ `źródło
Usunięto rusztowanie dla wybranego modelu:
źródło
Przed cofnięciem
rails generate
upewnij się, że najpierw przywrócisz migrację .Przypadek 1: jeśli chcesz cofnąć rusztowanie, uruchom następującą komendę:
Przypadek 2: jeśli chcesz przywrócić model, uruchom następującą komendę:
Przypadek 3: jeśli chcesz przywrócić kontroler, uruchom następującą komendę:
Uwaga: możesz także użyć skrótu
d
zamiastdestroy
.źródło
Aby cofnąć
rails generate
, użyjrails destroy
:Aby
rails destroy
uzyskać więcej informacji, zobacz „ ”.źródło
Wszystkie wersje szyn mają „zniszczyć”, dlatego jeśli utworzysz (na przykład) rusztowanie o nazwie „zadania” za pomocą generatora, aby zniszczyć wszystkie zmiany tego kroku generowania, musisz wpisać:
Mam nadzieję, że to ci pomoże.
źródło