有没有办法在Rails中“撤销”脚手架命令的效果?


当前回答

因此,您应该遵循Process来撤销rails 4中的脚手架。执行如下命令:

栏杆脚手架FooBar 耙db:如果你_had_run_rake db:迁移后创建以上的脚手架回滚?

就是这样!

干杯!

其他回答

Rishav Rastogi是对的,rails 3.0或更高版本:

rails generate scaffold ...
rails destroy scaffold ...

因此,您应该遵循Process来撤销rails 4中的脚手架。执行如下命令:

栏杆脚手架FooBar 耙db:如果你_had_run_rake db:迁移后创建以上的脚手架回滚?

就是这样!

干杯!

要生成脚手架:

rails generate scaffold xyz

恢复脚手架:

rails destroy scaffold xyz

当我们生成脚手架时,会创建以下文件:

命令:rails生成脚手架游戏

创建的文件:

>       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

如果我们在此之后运行了迁移,那么我们必须首先回滚迁移,因为删除脚手架也会删除迁移文件,我们将无法恢复迁移。

如果我们已经运行了迁移:

rake db:rollback

在此之后,我们可以通过这个命令安全地移除脚手架。

rails d scaffold Game

该命令将删除项目中由脚手架创建的所有文件。

用于在轨道中生成脚手架

rails generate scaffold MODEL_GOES_HERE

用于在轨道上撤消脚手架-

rails destroy scaffold MODEL_GOES_HERE