Как мне отменить "rails generate"?

т. е. удалить все созданные файлы и откатить любые внесенные изменения? Не обязательно к БД, но больше к файлам конфигурации.

Е. Г. автоматическое удаление всех сопоставлений ресурсов для Модель/контроллер удален в стороны.файл rb и везде, где могли быть внесены изменения?

спасибо.

16 ответов


rails destroy controller lalala
rails destroy model yadayada
rails destroy scaffold hohoho

Rails 3.2 добавляет новый d ярлык для команды, так что теперь вы можете написать:

rails d controller lalala
rails d model yadayada
rails d scaffold hohoho

стоит отметить - p флаг здесь (p для притворства).

Если вы добавите это в команду, она просто выполнит" тестовый " запуск и покажет вам, какие файлы будут удалены без фактического удаления.

$ 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

Если вы довольны этим, выполните команду снова без флага-p.


rails destroy controller Controller_name возвращал кучу ошибок. Чтобы иметь возможность уничтожить контроллер, мне пришлось удалить связанные маршруты в маршрутах.рубидий. П. С. Я использую рельсы 3.1


вы используете контроль версий (subversion, git, что угодно)? Просто вернись. Если нет - то почему?!!


Это прототип для создания или уничтожения контроллера или модели в rails.

rails generate/destroy controller/model [controller/model Name]

например, если вам нужно создать пользовательский контроллер

rails generate controller User

или

rails g controller User

если хотите уничтожить пользовательский контроллер или вернуться к вышеуказанному действию тогда

rails destroy controller User

или

rails d controller User

enter image description here


вы могли бы использовать rails d model/controller/migration ... чтобы уничтожить или удалить изменения, созданные с помощью команды rails generate.

пример: rails g model Home name:string создает модель с именем home С атрибутом name. Чтобы удалить файлы и код, сгенерированные из этой команды, мы можем использовать команду rails d model Home.


удалить контроллер вручную, в случае не работает:

контроллер 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

вы можете вернуть свой rails g/generate controller/model/migration xxx выход с помощью:

 rails d/destroy controller/model/migration xxx

предположим, я создал контроллер с именем sample как

rails generate controller sample

Если мне нужно уничтожить этот контроллер, все, что мне нужно сделать, это поменять создать С уничтожить, а в

rails destroy controller sample.

Если вы хотите изменить поколение, все, что вам нужно сделать, это поменять"создать "С"уничтожить'


Если вы используете рельсы, используйте rails d controller Users

и если вы используете zeus, используйте zeus d controller Users. С другой стороны, если вы используете git или SVN, верните свои изменения с номером фиксации. Это намного быстрее.


изменить это, мы просто уничтожим его. Откройте приложение терминала и перейдите в каталог проекта. Затем введите следующее:

rails destroy model CamelCase
rails destroy controller CamelCase

где CamelCase-это имя любой модели или контроллера. Он удалит модель, миграцию и некоторые из связанных тестовых файлов. (Вы можете увидеть результат на терминале после выполнения команды.)


вы можете отменить создание rails следующими способами:

  • Для Модели: rails destroy MODEL
  • Для Контроллера : rails destroy controller_name

все поколения рельсов имеют их уничтожение, поэтому, если вы создадите генератором (например) эшафот с именем "задачи", чтобы уничтожить все изменения этого ганерата, вам придется ввести:

rails destroy scaffold Tasks

надеюсь, это поможет вам.


удалены леса для выбранной модели

bin/rails d scaffold <AccessControl> //model name

перед возвратом rails generate, пожалуйста, убедитесь, что вы откат миграции первый.

Случай 1: Если вы хотите вернуть эшафот, выполните эту команду -

rails destroy scaffold MODEL_NAME

случай 2: Если вы хотите вернуть модель, выполните эту команду -

rails destroy model MODEL_NAME

Случай 3: Если вы хотите вернуть контроллер затем выполните команду

rails destroy controller CONTROLLER_NAME

Примечание: Вы также можете использовать сочетание клавиш d вместо destroy


мы используем генерировать rails generate app. Так регенерирует любой generate оператор может быть отменен с помощью destroy заявление. Просто замените generate С destroy т. е. rails generate app можно записать как rails destroy app' рельсы генерировать ____asрельсы уничтожить ____`