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


当前回答

生成:

rails g scaffold post
rake db:migrate

删除:

rake db:rollback
rails d scaffold post

其他回答

使用这个

rails d scaffold MODEL_NAME

rake db:rollback

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

rails d scaffold foo

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

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

案例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 

然后你应该首先运行回滚迁移命令,然后像下面那样破坏脚手架

rake db:rollback

rails destroy scaffold User name:string address:text

以这种方式,我们可以撤销脚手架。我们也可以用d表示销毁,用g表示生成。

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

rake db:rollback

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

rails generate scaffold MyFoo 

(或类似),并且您可以使用

rails destroy scaffold MyFoo

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