Rails 如何从内存中删除路线
How delete routes from memory in Rails
在我的应用程序中,我通过 Rails.application.routes.append 命令动态输入路由 例如:
Rails.application.routes.append do
resources :example
end
我的问题是我不知道如何删除这些路由。我尝试使用 Rails.application.reload_routes! Rails.application.routes.clear!命令,但它不起作用。
你有什么想法吗?或者有没有其他动态增删路由的方法?
提前感谢您的回复!
如果您使用 Rails.application.routes.draw
而不是 Rails.application.routes.append
,您应该可以使用 reload_routes!清除内容的方法。当您在使用 append 后调用 reload 时,它实际上只是重新加载您附加的路由。如果您绘制路线,它将永远不会附加到路线对象,您应该没问题。
感谢您的回复,部分有效。即,当页面刷新时,应用程序会重置路由,并且不识别新添加的路由。暂时,我在主控制器中设置了 before_action,它运行重新加载路由。我怀疑这是由于环境配置中的任何选项造成的。我正在使用开发。你有什么想法吗?
在我的应用程序中,我通过 Rails.application.routes.append 命令动态输入路由 例如:
Rails.application.routes.append do
resources :example
end
我的问题是我不知道如何删除这些路由。我尝试使用 Rails.application.reload_routes! Rails.application.routes.clear!命令,但它不起作用。
你有什么想法吗?或者有没有其他动态增删路由的方法?
提前感谢您的回复!
如果您使用 Rails.application.routes.draw
而不是 Rails.application.routes.append
,您应该可以使用 reload_routes!清除内容的方法。当您在使用 append 后调用 reload 时,它实际上只是重新加载您附加的路由。如果您绘制路线,它将永远不会附加到路线对象,您应该没问题。
感谢您的回复,部分有效。即,当页面刷新时,应用程序会重置路由,并且不识别新添加的路由。暂时,我在主控制器中设置了 before_action,它运行重新加载路由。我怀疑这是由于环境配置中的任何选项造成的。我正在使用开发。你有什么想法吗?