【问题标题】:How delete routes from memory in RailsRails 如何从内存中删除路由
【发布时间】:2017-05-12 18:31:32
【问题描述】:

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

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

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

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

提前感谢您的回复!

【问题讨论】:

  • 只需删除resources :example
  • 一些谷歌搜索表明,如果您使用Rails.application.routes.draw 而不是append,那么您应该可以调用Rails.application.reload_routes! 来恢复您的添加。

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


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2020-01-16
      • 1970-01-01
      • 2011-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-13
      • 1970-01-01
      相关资源
      最近更新 更多