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?

Author: the Tin Man, 2010-11-12

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
 948
Author: Fábio Batista,
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.

 50
Author: Maikon,
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

 24
Author: Maikel,
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

Tutaj wpisz opis obrazka

 12
Author: uma,
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
 4
Author: kishore,
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.

 4
Author: Santanu,
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.

 3
Author: Foram Thakral,
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
 3
Author: Patrick_870206,
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
 3
Author: the Tin Man,
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.

 3
Author: L11,
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
 3
Author: Vipul Lawande,
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.)

 1
Author: Chutipong Roobklom,
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 _ _ _ `

 0
Author: Krishnaraj R,
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
 0
Author: Dinesh Vaitage,
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.

 0
Author: Manoj Kumar,
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.

 0
Author: purge,
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.
 0
Author: Flautarian,
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