Ruby on Rails:使用controller,action&获取路由PARAM

时间:2013-12-13 19:10:28

标签: ruby-on-rails ruby url controller action

我对RoR很新,我正在寻找一种方法来获取给定控制器,动作和放大器的路径。 PARAM。

类似于url_for()但没有域和协议。

让我说我有:

params = {"controller"=>"controller", "action"=>"edit", "project_id"=>"1"}

我需要得到:

route = "/controller/edit/1"

最好不要手动构建路线,如果我不需要拆分url_for()的结果。

RoR原生支持这样的功能吗?这可能是一个简单的问题,但我找不到答案。

2 个答案:

答案 0 :(得分:4)

这是将生成您想要的路径的助手:

edit_controller_path(project_id: 1)

您可以使用此助手生成链接的完整路径(包括主机):

edit_controller_url(project_id: 1)

编辑: 更多信息,请访问 http://guides.rubyonrails.org/routing.html#path-and-url-helpers

答案 1 :(得分:2)

您应该可以使用以下

link_to "Link Content", :controller => "my_controller", :action => "my_action", :project_id => 1

这将生成<a>,其中包含指向您的控制器/操作的链接。