如何动态调用rails中的路由助手?

时间:2012-03-07 05:10:01

标签: ruby-on-rails ruby routes

例如,我构建了一个名为“new_work_path”的字符串,现在我想将该帮助器称为方法。

我尝试过send("new_work_path", vars)并从许多对象调用相同的发送。但我认为我没有找到合适的对象来称呼这些助手。

要做object.send("new_work_path", vars),我应该寻找什么对象

我试图在网上寻找一段时间,但找不到任何东西。如果有人能在这一个上发光,那就太棒了!

谢谢!

2 个答案:

答案 0 :(得分:38)

尝试Rails.application.routes.url_helpers.send(...)

答案 1 :(得分:8)

我的不好,根据@tadman的建议,我尝试再次使用send(:new_work_path, args)并且它有效!以前一定输入错误。

在发现发送工作立即生效之前,我找到了另一个感兴趣的解决方案:

new_polymorphic_path(Work, args)

这似乎也提供了一些语法糖。