在Rails中撤消脚手架

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


#1楼

第一次,如果您已生成脚手架,则可以检查数据库迁移。 你必须销毁它们来清理你的数据库

rake db:rollback

然后

rails d scaffold

#2楼

rails d scaffold <scaffoldname>

此外,请确保撤消通过回滚或特定版本进行的迁移。


#3楼

要生成脚手架:

rails generate scaffold xyz

要恢复脚手架:

rails destroy scaffold xyz

#4楼

你需要首先通过执行rake db:rollback回滚迁移(如果有的话)然后通过摧毁脚手架

rails d scaffold foo

#5楼

你也需要在破坏脚手架后回滚迁移

rails destroy scaffold 'scaffoldname'
rake db:rollback

#6楼

用于在轨道中生成脚手架 -

rails generate scaffold MODEL_GOES_HERE

对于rails中的撤消脚手架 -

rails destroy scaffold MODEL_GOES_HERE

#7楼

所以,你应该按照过程来删除rails中的scaffolding 4.运行Command如下:

  1. rails d scaffold FooBar
  2. rake db:rollback如果you_had_run_ rake db:migrate在创建上面的脚手架后rake db:migrate ,则rake db:rollback

而已!

干杯!


#8楼

Rails摧毁了名字

rake db:rollback

#9楼

用这个

rails d scaffold MODEL_NAME

rake db:rollback

#10楼

首先,你必须执行rake db:rollback来销毁表
如果你已经运行了rake db:migrate ,那么你就可以运行了

rails d脚手架模型


#11楼

推荐回滚首先,输入您的终端。

rake db:rollback

添加破坏脚手架('d'代表'破坏')

rails d scaffold name_of_scaffold

享受你的代码。


#12楼

如果您只想查看生成器将创建的文件,您可以传递生成器--pretend或-p选项。


#13楼

Rishav Rastogi是正确的,并且使用rails 3.0或更高版本:

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

#14楼

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

命令: 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

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

rails d scaffold Game

此命令将删除项目中scaffold创建的所有文件。


#15楼

无论何时运行rails g ,都可以通过运行rails d (destroy)来撤消它,以删除你生成的内容。 如果你已经运行了rake db:migrate ,你需要在销毁之前运行rake db:rollback :)


#16楼

是的, scaffold本身和所有将它合并的东西。

destroy命令与generate相反,将撤消一个。 只需将它的名称与generate相同的方式传递给它,它将从您的项目中清除:

rails generate scaffold posts title:string content:text
rails destroy scaffold posts title:string content:text

#17楼

案例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:如果您已经通过以下命令运行(脚手架和迁移),例如 -

rails generate scaffold User name:string address:text

rake db:migrate 

然后你应该运行第一个rollback migration命令然后破坏脚手架,如下所示 -

rake db:rollback

rails destroy scaffold User name:string address:text

所以以这种方式,我们可以撤消脚手架。 我们也可以使用d进行销毁 ,使用g作为生成快捷方式。


#18楼

要生成脚手架:

rails generate scaffold abc

要恢复此脚手架:

rails destroy scaffold abc

如果您已为其运行迁移,则只需回滚

rake db:rollback STEP=1

#19楼

rails g scaffold MyFoo 

用于生成和

rails d scaffold MyFoo

删除


#20楼

提供者另一种基于git的解决方案

开始一个新项目

rails new project_name
cd project_name

初始化git

git init
git commit -m "initial commit"

创建一个脚手架

rails g scaffold MyScaffold
rake db:migrate

回滚脚手架

rake db:rollback
git reset --hard
git clean -f -d

#21楼

rails [option] scaffold scaffold_name

选项

g    generate
d    destroy

如果你这样做

rails g  scaffold myFoo

然后使用反转它

rails d scaffold MyFoo

#22楼

你可以撤消你所做的任何事情

rails generate xxx

通过

rails destroy xxx

例如,这将生成器应用于迁移,脚手架,模型等


#23楼

最好的方法是:

destroy rake db:  rake db:rollback

对于脚手架:

rails destroy scaffold Name_of_script

#24楼

首先 ,如果您已经运行了scaffold命令生成的迁移,则必须先执行回滚。

rake db:rollback

您可以使用以下方法创建脚手架:

rails generate scaffold MyFoo 

(或类似的), 你可以使用它来销毁/撤消

rails destroy scaffold MyFoo

这将删除由generate创建的所有文件,但不会删除您手动创建的任何其他更改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值