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


当前回答

如果您有generate scaffold,您可以第一次检查数据库迁移。 您必须销毁它们以清理数据库

rake db:rollback

then

rails d scaffold

其他回答

rails d scaffold <scaffoldname>

此外,请确保通过回滚或到特定版本撤销了迁移。

你可以撤销你所做的一切

rails generate xxx

By

rails destroy xxx

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

案例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表示生成。

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

是的,刑台本身和它上面的所有东西。

destroy命令与generate相反,它将撤销一个命令。只需要像generate一样传递它的名字,它就会从你的项目中删除:

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