Как мне изменить рельсы?
то есть. удалить все созданные файлы и отменить сделанные изменения? Не обязательно для db, но больше для файлов конфигурации.
например. автоматически удаляя все сопоставления ресурсов для модели/контроллера, удаленные в файле routes.rb и везде, где могут быть сделаны изменения?
Спасибо.
Ответы
Ответ 1
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
Ответ 2
Здесь стоит упомянуть флаг -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.
Ответ 3
rails destroy controller Controller_name
возвращал кучу ошибок. Чтобы иметь возможность уничтожить контроллер, мне пришлось удалить связанные маршруты в route.rb. Постскриптум Я использую рельсы 3.1
Ответ 4
Используете ли вы управление версиями (subversion, git, что угодно)? Просто вернись. Если нет - почему бы и нет?!!
Ответ 5
Это прототип для создания или уничтожения контроллера или модели в рельсах.
rails generate/destroy controller/model [controller/model Name]
например, если вам нужно создать User Controller
rails generate controller User
или
rails g controller User
если хотите уничтожить пользовательский контроллер или вернуться к действию выше
то
rails destroy controller User
или
rails d controller User
![enter image description here]()
Ответ 6
Вы можете использовать rails d model/controller/migration ...
для уничтожения или удаления изменений, сгенерированных с помощью команды генерации рельсов.
Пример: rails g model Home name:string
создает модель с именем home
с атрибутом name
. Чтобы удалить файлы и код, сгенерированные из этой команды, мы можем использовать команду rails d model Home
.
Ответ 7
вы можете вернуть свой вывод rails g/generate controller/model/migration xxx
, используя:
rails d/destroy controller/model/migration xxx
Ответ 8
Если вы предпочитаете удалить контроллер вручную:
Для контроллера 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
Ответ 9
Предположим, я создал контроллер с именем sample, например, как
rails generate controller sample
Если мне нужно уничтожить этот контроллер, все, что мне нужно сделать, это поменять генератор с помощью destroy, как в
rails destroy controller sample.
Если вы хотите изменить поколение, все, что вам нужно сделать, это поменять ' генерировать ' на ' уничтожить '
Ответ 10
Если вы используете рельсы, используйте rails d controller Users
и если вы используете zeus, используйте zeus d controller Users
. С другой стороны, если вы используете git или SVN, верните свои изменения с номером фиксации. Это намного быстрее.
Ответ 11
Вы можете отменить создание рельсов следующими способами:
- Для модели:
rails destroy MODEL
- Для контроллера:
rails destroy controller_name
Ответ 12
Вы можете уничтожить все, что было создано таким же образом, кроме мелочей. Для контроллера,
rails d controller_name (d stands for destroy)
Для модели
rails d model_name
вы просто помещаете d(destroy)
вместо g(generate)
в вашу миграцию.
Ответ 13
Чтобы обратить вспять это, мы просто уничтожаем его. Откройте приложение "Терминал" и перейдите в каталог проекта. Затем введите это:
rails destroy model CamelCase
rails destroy controller CamelCase
Где CamelCase - это имя любой модели или контроллера.
Он удалит модель, миграцию и некоторые связанные с ней тестовые файлы. (Вы можете увидеть результат на Терминале после выполнения команды.)
Ответ 14
Все поколения рельсов уничтожают их, поэтому, если вы создадите генератором (например) эшафот под названием "задачи", чтобы уничтожить все изменения этого ganerate, вам нужно будет ввести:
rails destroy scaffold Tasks
Надеюсь, это поможет вам.
Ответ 15
Прежде чем возвращать rails generate
, убедитесь, что вы отменили миграцию.
Случай 1: если вы хотите вернуть эшафот, запустите эту команду -
rails destroy scaffold MODEL_NAME
Случай 2: если вы хотите вернуть модель, запустите эту команду -
rails destroy model MODEL_NAME
Случай 3: если вы хотите вернуть контроллер, выполните эту команду -
rails destroy controller CONTROLLER_NAME
Примечание. Вы также можете использовать ярлык d
вместо destroy
Ответ 16
Удалены леса для выбранной модели
bin/rails d scaffold <AccessControl> //model name
Ответ 17
Мы используем генерировать как rails generate app
. Таким образом, восстановление любого оператора generate
может быть отменено с помощью оператора destroy
. Просто замените generate
на destroy
то есть rails generate app
может быть записано как rails destroy app'
rails generate ____ as
rails destroy ____'
Ответ 18
чтобы поменять рельсы, используйте рельсы
rails destroy Model
https://guides.rubyonrails.org/command_line.html#rails-destroy