如何在 Rails 清扫车中访问命名路线



我有一个清理器,可以通过在分叉进程中打开 url 来重新加热缓存。对这些 url 的主机进行硬编码很容易,但我希望它根据环境动态更改。

我知道我可以为此设置全局/环境变量,但我真的很想使用命名路由。有什么办法可以做到这一点吗?

(我应该澄清一下,我已经尝试只是将命名路由放在那里,但它们在运行时无法解析。

我找到的最接近的是:

Rails.application.routes.named_routes.get(:user).defaults

其中检索:

{:action=>"show", :controller=>"users"}

但是你应该把它和你的参数合并:

Rails.application.routes.named_routes.get(:user).defaults.merge({:id => 1})

结果:

{:action=>"show", :controller=>"users", :id=>1}

编辑:

只需添加

include Rails.application.routes.url_helpers 

到你的班级

我在当前的 Rails 3.2 beta 中修复了这个问题:

https://github.com/rails/rails/pull/3876

相关内容

  • 没有找到相关文章

最新更新