删除控制器时不删除路由

时间:2015-09-17 08:43:34

标签: ruby-on-rails controller routes

当我删除控制器时,我注意到相应的路由没有从routes.rb文件中删除。有没有理由让rails不删除它?

2 个答案:

答案 0 :(得分:1)

当您提供this.el.width = this.canvas.width(); 时,属于该控制器 routes不会被删除 ,因为它们不是在创建时创建的命令rails d controller Posts正在运行。 rails g controller Posts name:string user:references生成的内容仅在您提供rails g controller Posts name:string user:references

时删除

例如,命令rails d controller Posts创建以下文件

rails g controller nurseries

现在,当您提供 create app/controllers/nurseries_controller.rb invoke erb create app/views/nurseries invoke test_unit create test/controllers/nurseries_controller_test.rb invoke helper create app/helpers/nurseries_helper.rb invoke test_unit create test/helpers/nurseries_helper_test.rb invoke assets invoke coffee create app/assets/javascripts/nurseries.js.coffee invoke scss create app/assets/stylesheets/nurseries.css.scss 时,仅删除使用该命令创建的内容

rails destroy controller nurseries

您应该 手动删除 remove app/controllers/nurseries_controller.rb invoke erb remove app/views/nurseries invoke test_unit remove test/controllers/nurseries_controller_test.rb invoke helper remove app/helpers/nurseries_helper.rb invoke test_unit remove test/helpers/nurseries_helper_test.rb invoke assets invoke coffee remove app/assets/javascripts/nurseries.js.coffee invoke scss remove app/assets/stylesheets/nurseries.css.scss ,或者如果您是在 scaffold 的帮助下生成控制器的即,routes然后给予rails g scaffold Posts name:string user:references将为您执行此操作,但它也会删除所有其他内容(模型,迁移文件等)。

答案 1 :(得分:0)

Rails不会编辑您的文件,除非您调用命令(即rails generate ...

因此,当您使用rm app/controller/foos_controller.rb从硬盘中删除文件时,没有可以编辑routes.rb文件的进程。