Отменить строительные леса в Rails - PullRequest
481 голосов
/ 08 июня 2009

Есть ли способ отменить действие команды скаффолда в Rails?

Ответы [ 24 ]

0 голосов
/ 08 августа 2017
rails g scaffold MyFoo 

для генерации и

rails d scaffold MyFoo

для удаления

0 голосов
/ 10 февраля 2017

Случай 1: Если вы запускаете только эту команду для генерации скаффолда -

rails generate scaffold MODEL_NAME FIELD_NAME:DATATYPE

Ex - rails generate scaffold User name:string address:text

но до сих пор вы не запускали ни одну команду для миграции, такую ​​как

rake db:migrate

тогда вам нужно выполнить только эту команду, как -

rails destroy scaffold User name:string address:text

Случай 2: Если вы уже запускаете (Scaffold and Migration) следующие команды, такие как -

rails generate scaffold User name:string address:text

rake db:migrate 

Затем вам нужно запустить первую команду отката миграции, а затем уничтожить эшафот, как показано ниже -

rake db:rollback

rails destroy scaffold User name:string address:text

Таким образом, мы можем отменить строительные леса. Также мы можем использовать d для уничтожения и g для создания в качестве ярлыка.

0 голосов
/ 23 декабря 2016

Каждый раз, когда вы запускаете rails g, вы можете отменить его, введя rails d (уничтожить), чтобы удалить то, что вы сгенерировали. Если вы уже запустили rake db:migrate, вам нужно будет запустить rake db:rollback перед уничтожением:)

0 голосов
/ 05 сентября 2016

При создании скаффолда будут созданы следующие файлы:

Команда: rails generate scaffold Game

Создано файлов:

>       invoke  active_record
>       create    db/migrate/20160905064128_create_games.rb
>       create    app/models/game.rb
>       invoke    test_unit
>       create      test/models/game_test.rb
>       create      test/fixtures/games.yml
>       invoke  resource_route
>        route    resources :games
>       invoke  inherited_resources_controller
>       create    app/controllers/games_controller.rb
>       invoke    erb
>       create      app/views/games
>       create      app/views/games/index.html.erb
>       create      app/views/games/edit.html.erb
>       create      app/views/games/show.html.erb
>       create      app/views/games/new.html.erb
>       create      app/views/games/_form.html.erb
>       invoke    test_unit
>       create      test/controllers/games_controller_test.rb
>       invoke    helper
>       create      app/helpers/games_helper.rb
>       invoke      test_unit
>       create        test/helpers/games_helper_test.rb
>       invoke    jbuilder
>       create      app/views/games/index.json.jbuilder
>       create      app/views/games/show.json.jbuilder
>       invoke  assets
>       invoke    coffee
>       create      app/assets/javascripts/games.js.coffee
>       invoke    scss
>       create      app/assets/stylesheets/games.css.scss
>       invoke  scss
>       create    app/assets/stylesheets/scaffolds.css.scss

Если после этого мы запустили миграцию, то сначала нужно откатить миграцию, поскольку удаление scaffold также удалит файл миграции, и мы не сможем отменить эту миграцию.

Если мы запустили миграцию:

rake db:rollback

и после этого мы можем безопасно убрать помост этой комадой.

rails d scaffold Game

Эта команда удалит все файлы, созданные скаффолдом в вашем проекте.

...