Jak odwrócić "rails generate"
Chcę usunąć wszystkie utworzone przez niego pliki i cofnąć 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ęte w trasach.plik rb i wszędzie tam gdzie można było wprowadzić zmiany?
17 answers
rails destroy controller lalala
rails destroy model yadayada
rails destroy scaffold hohoho
Rails 3.2 dodaje nowy skrót d
do komendy, więc teraz możesz napisać:
rails d controller lalala
rails d model yadayada
rails d scaffold hohoho
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-07 04:38:00
Warto tutaj wspomnieć o fladze -p
("p" dla ).
Jeśli dodasz to do polecenia, po prostu wykonasz" test " i pokażesz, jakie pliki zostaną usunięte bez ich usuwania.
$ rails d controller welcome -p
remove app/controllers/welcome_controller.rb
invoke erb
remove app/views/welcome
invoke test_unit
remove test/controllers/welcome_controller_test.rb
invoke helper
remove app/helpers/welcome_helper.rb
invoke test_unit
remove test/helpers/welcome_helper_test.rb
invoke assets
invoke coffee
remove app/assets/javascripts/welcome.js.coffee
invoke scss
remove app/assets/stylesheets/welcome.css.scss
Jeśli jesteś z tego zadowolony, uruchom polecenie ponownie Bez flagi -p
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-01-24 23:45:05
rails destroy controller Controller_name
zwracałem kilka błędów. Aby móc zniszczyć kontroler musiałem usunąć powiązane trasy w trasach.rb. P. S. używam rails 3.1
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-09 05:47:26
Jest to prototyp do wygenerowania lub zniszczenia kontrolera lub modelu w Rails:
rails generate/destroy controller/model [controller/model Name]
Na przykład, jeśli musisz wygenerować Kontroler użytkownika:
rails generate controller User
Lub
rails g controller User
Jeśli chcesz zniszczyć Kontroler użytkownika lub powrócić do powyższej akcji następnie użyj:
rails destroy controller User
Lub:
rails d controller User
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-01-24 23:53:28
Możesz użyć rails d model/controller/migration ...
do zniszczenia lub usunięcia zmian wygenerowanych za pomocą polecenia rails generate
.
Na przykład:
rails g model Home name:string
Tworzy model o nazwie home
z atrybutem name
. Aby usunąć Pliki i kod wygenerowany z tego polecenia możemy użyć
rails d model Home
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-01-24 23:54:41
Jeśli używasz Rails, użyj rails d controller Users
.
I, 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 o wiele szybsze.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-01-24 23:58:21
Możesz zniszczyć wszystkie rzeczy, które zostały stworzone w ten sam sposób, z wyjątkiem drobnych zmian. Dla kontrolera,
rails d controller_name (d stands for destroy)
Dla Modelu
rails d model_name
Wystarczy umieścić d(destroy)
zamiast g(generate)
w swojej migracji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-01-04 06:21:09
Jeśli wolisz usunąć kontroler ręcznie:
Dla kontrolera welcome
rm app/controllers/welcome_controller.rb
rm app/views/welcome
rm test/controllers/welcome_controller_test.rb
rm app/helpers/welcome_helper.rb
rm test/helpers/welcome_helper_test.rb
rm app/assets/javascripts/welcome.js.coffee
rm app/assets/stylesheets/welcome.css.scss
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-05-18 18:49:31
Możesz przywrócić swoje
rails g/generate controller/model/migration xxx
Wyjście za pomocą:
rails d/destroy controller/model/migration xxx
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-01-24 23:55:10
Załóżmy, że stworzyłem kontroler o nazwie "sample" w stylu:
rails generate controller sample
Jeśli muszę zniszczyć ten kontroler, wystarczy zamienić generate
na destroy
, tak jak w
rails destroy controller sample.
Jeśli chcesz odwrócić generację, wystarczy zamienić generate
na destroy
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-01-24 23:56:59
Możesz cofnąć rails generate
w następujący sposób:
- dla modelu:
rails destroy MODEL
- dla kontrolera:
rails destroy controller_name
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-01-24 23:59:07
Aby to odwrócić, po prostu je zniszczymy. Otwórz aplikację Terminal i przejdź do katalogu projektu, a następnie wpisz:
rails destroy model CamelCase
rails destroy controller CamelCase
Gdzie CamelCase
jest nazwą dowolnego modelu lub kontrolera.
Usunie model, migrację i niektóre powiązane pliki testowe. (Wynik można zobaczyć w oknie terminala po uruchomieniu polecenia.)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-01-25 00:00:42
Używamy generate jako
rails generate app
.
Tak więc regenerowanie dowolnego generate
instrukcji może być odwrócone za pomocą destroy
instrukcji.
Po prostu zamień generate
na destroy
tzn. rails generate app
można zapisać jako rails destroy app'
rails generate _ _ _ _ as
rails destroy _ _ _ `
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-30 04:09:34
Usunięto rusztowanie dla wybranego modelu:
bin/rails d scaffold <AccessControl> //model name
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-01-25 00:01:00
Przed przywróceniem rails generate
, Upewnij się, że najpierw wycofasz migrację.
Przypadek 1: jeśli chcesz przywrócić rusztowanie, uruchom polecenie:
rails destroy scaffold MODEL_NAME
Przypadek 2: jeśli chcesz przywrócić model, uruchom polecenie:
rails destroy model MODEL_NAME
Przypadek 3: Jeśli chcesz przywrócić kontroler, uruchom polecenie:
rails destroy controller CONTROLLER_NAME
Uwaga: Możesz również użyć skrótu d
zamiast destroy
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-01-25 00:05:00
Aby odwrócić rails generate
, Użyj rails destroy
:
rails destroy Model
Zobacz "rails destroy
" Więcej informacji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-01-25 00:06:27
Wszystkie wersje rails mają "destroy", więc jeśli utworzysz (na przykład) rusztowanie o nazwie "tasks" za pomocą generatora, aby zniszczyć wszystkie zmiany tego kroku generowania, musisz wpisać:
rails destroy scaffold Tasks
Mam nadzieję, że ci to pomoże.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-01-30 12:41:06