Как мне изменить рельсы?

то есть. удалить все созданные файлы и отменить сделанные изменения? Не обязательно для 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 ____'