Как мне отменить "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
вы могли бы использовать 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
надеюсь, это поможет вам.
перед возвратом 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
рельсы уничтожить ____`