删除控制器时不会删除路由
Routes are not deleted while deleting the controller
当我删除一个控制器时,我注意到相应的路由没有从 routes.rb
文件中删除。 rails有什么理由不删吗?
Rails 不会编辑您的文件,除非您调用命令来这样做(即 rails generate ...
)
因此,当您使用 rm app/controller/foos_controller.rb
从硬盘删除文件时,没有任何进程可以编辑您的 routes.rb
文件。
属于那个控制器的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
可能你应该手动擦除 routes
或者如果你是在 [=33 的帮助下生成控制器=]scaffold 即 rails g scaffold Posts name:string user:references
然后给 rails d scaffold Posts
会为你做,但它也会删除所有其他内容(模型,迁移文件等)以及它。
当我删除一个控制器时,我注意到相应的路由没有从 routes.rb
文件中删除。 rails有什么理由不删吗?
Rails 不会编辑您的文件,除非您调用命令来这样做(即 rails generate ...
)
因此,当您使用 rm app/controller/foos_controller.rb
从硬盘删除文件时,没有任何进程可以编辑您的 routes.rb
文件。
属于那个控制器的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
可能你应该手动擦除 routes
或者如果你是在 [=33 的帮助下生成控制器=]scaffold 即 rails g scaffold Posts name:string user:references
然后给 rails d scaffold Posts
会为你做,但它也会删除所有其他内容(模型,迁移文件等)以及它。