我如何反转“轨道生成”?

即删除它创build的所有文件,并回滚所做的任何更改? 不一定要分贝,但更多的configuration文件。

例如,自动删除在routes.rb文件中删除的模型/控制器的所有资源映射,以及其他可能发生更改的其他位置。

谢谢。

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 

这里值得一提的是-p标志(p表示假装)。

如果你把这个添加到命令中,它只会做一个“testing”运行,并告诉你什么文件将被删除而不实际删除它们。

 $ rails d controller welcome -p remove app/controllers/welcome_controller.rb invoke erb remove app/views/welcome invoke test_unit remove test/controllers/welcome_controller_test.rb invoke helper remove app/helpers/welcome_helper.rb invoke test_unit remove test/helpers/welcome_helper_test.rb invoke assets invoke coffee remove app/assets/javascripts/welcome.js.coffee invoke scss remove app/assets/stylesheets/welcome.css.scss 

如果您对此感到满意,请不带-p标志再次运行该命令。

rails destroy controller Controller_name正在返回一堆错误。 为了能够销毁控制器,我必须删除routes.rb中的相关路由。 PS我正在使用rails 3.1

你使用版本控制(颠覆,混帐,无论)? 只要还原。 如果不是 – 为什么不呢?

这是在轨道中生成或销毁控制器或模型的原型。

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

例如,如果您需要生成用户控制器

 rails generate controller User 

要么

 rails g controller User 

如果要摧毁用户控制器或恢复到上述行动

 rails destroy controller User 

要么

 rails d controller User 

在这里输入图像说明

您可以使用rails d model/controller/migration ...来销毁或删除使用rails generate命令生成的更改。

示例: rails g model Home name:string创build一个名为home的模型,其中包含属性name 。 要删除从该命令生成的文件和代码,我们可以使用命令rails d model Home

要手动删除控制器,万一rails d controller命令不起作用:

对于控制器welcome

 rm app/controllers/welcome_controller.rb rm app/views/welcome rm test/controllers/welcome_controller_test.rb rm app/helpers/welcome_helper.rb rm test/helpers/welcome_helper_test.rb rm app/assets/javascripts/welcome.js.coffee rm app/assets/stylesheets/welcome.css.scss 

如果您使用导轨,请使用rails d controller Users

如果你使用宙斯,请使用zeus d controller Users 。 另一方面,如果您使用的是git或SVN,请使用提交编号恢复您的更改。 这要快得多。

为了扭转这种情况,我们只是摧毁它。 打开terminal应用程序并转到项目目录。 然后,input这个:

 rails destroy model CamelCase rails destroy controller CamelCase 

哪里驼峰是任何模型或控制器的名称。 它将删除模型,迁移和一些相关的testing文件。 (您可以在运行命令后在terminal上看到结果。)

您可以通过以下方式撤销导轨生成:

  • 对于Model: rails destroy MODEL
  • 对于控制器: rails destroy controller_name

你可以使用以下命令恢复你的rails g/generate controller/model/migration xxx输出:

  rails d/destroy controller/model/migration xxx 

所有世代的铁轨都会破坏它们,所以,如果你通过发电机创build了一个名为“任务”的脚手架,为了销毁所有的变化,你将不得不input:

 rails destroy scaffold Tasks 

希望它可以帮助你。

删除选定模型的脚手架

 bin/rails d scaffold <AccessControl> //model name 

在还原rails generate之前,请确保先回滚迁移

案例1:如果你想恢复脚手架,然后运行这个命令 –

 rails destroy scaffold MODEL_NAME 

情况2:如果你想恢复模型,然后运行这个命令 –

 rails destroy model MODEL_NAME 

情况3:如果你想恢复控制器然后运行这个命令 –

 rails destroy controller CONTROLLER_NAME 

注意:你也可以使用快捷键d而不是destroy

Interesting Posts