当我删除控制器时,我注意到相应的路由没有从routes.rb
文件中删除。有没有理由让rails不删除它?
答案 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
文件的进程。