Как я могу отменить "рельсы генерируют"?



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



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



спасибо.

732   16  

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 d controller Users. С другой стороны, если вы используете git или SVN, верните свои изменения с номером фиксации. Это гораздо быстрее.

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

rails destroy model CamelCase
rails destroy controller CamelCase

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

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

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

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

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рельсы уничтожить ____`

Comments

    Ничего не найдено.