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


当前回答

您需要首先执行rake db:rollback(如果有的话)来回滚迁移 然后摧毁断头台

rails d scaffold foo

其他回答

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

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

提供了另一种基于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

你可以撤销你所做的一切

rails generate xxx

By

rails destroy xxx

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

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

要生成脚手架:

rails generate scaffold abc

恢复脚手架:

rails destroy scaffold abc

如果您已经为它运行了迁移,只需回滚即可

rake db:rollback STEP=1