如何从Rails中的内存中删除路由

时间:2017-05-12 18:31:32

标签: ruby-on-rails ruby routes ruby-on-rails-5 ruby-on-rails-5.1

在我的应用程序中,我通过Rails.application.routes.append命令动态输入路由例如:

Rails.application.routes.append do
  resources :example
end

我的问题是我不知道如何删除这些路线。我尝试使用Rails.application.reload_routes!和Rails.application.routes.clear!命令,但它不起作用。

你有什么想法吗?或者还有其他方法可以动态添加和删除路由吗?

提前感谢您的回复!

2 个答案:

答案 0 :(得分:0)

如果您使用Rails.application.routes.draw而非Rails.application.routes.append,则应该可以使用reload_routes!清除内容的方法。当你在使用append之后调用reload时,它实际上只是重新加载你附加的路由。如果你绘制路线,它将永远不会被附加到路线对象,你应该没问题。

答案 1 :(得分:0)

感谢您的回复,它的部分工作。即,当刷新页面时,应用程序重置路由并且不识别新添加的路由。暂时,在主控制器中我设置了before_action,它运行重载路由。我怀疑这是由于环境配置中的任何选项。我正在使用开发。你有什么想法吗?