我想删除它创建的所有文件,并回滚所做的任何更改,但不一定是数据库,而是配置文件。

我想自动删除路由中删除的模型/控制器的所有资源映射。Rb文件和其他地方的变化可能已经作出?


当前回答

这是一个在Rails中生成或销毁控制器或模型的原型:

rails generate/destroy controller/model [controller/model Name]

例如,如果你需要生成一个User Controller:

rails generate controller User

or

rails g controller User

如果你想销毁User控制器或恢复到上面的操作 然后使用:

rails destroy controller User

or:

rails d controller User

其他回答

在恢复rails生成之前,请确保先回滚迁移。

情况1:如果你想恢复脚手架,那么运行这个命令:

rails destroy scaffold MODEL_NAME

情况2:如果你想恢复模型,那么运行这个命令:

rails destroy model MODEL_NAME

情况3:如果你想恢复控制器,那么运行这个命令:

rails destroy controller CONTROLLER_NAME

注意:你也可以用快捷键d代替destroy。

假设我创建了一个名为“sample”的控制器:

rails generate controller sample

如果我要销毁这个控制器,我要做的就是交换生成和销毁

rails destroy controller sample.

如果你想反向生成,你只需要把生成和销毁交换。

rails destroy controller lalala
rails destroy model yadayada
rails destroy scaffold hohoho

Rails 3.2为这个命令添加了一个新的快捷方式d,所以现在你可以这样写:

rails d controller lalala
rails d model yadayada
rails d scaffold hohoho

你可以摧毁所有以同样方式创造出来的东西,除了一点点改变。 控制器,

rails d controller_name (d stands for destroy)

为模型

rails d model_name

您只是在迁移中使用d(销毁)而不是g(生成)。

你可以使用rails d模型/控制器/迁移…销毁或删除使用rails generate命令所产生的更改。

例如:

rails g model Home name:string

使用属性name创建名为home的模型。删除我们可以使用的从该命令生成的文件和代码

rails d model Home