Ruby on Rails:使用控制器、动作和参数获取路由

10

我对RoR很陌生,想要找到一种获取给定控制器、操作和参数路由的方法。

类似于url_for()但不包括域名和协议。

假设我有:

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

我需要获得:

route = "/controller/edit/1"

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

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


有使用这种方式的特定原因吗?与使用命名URL相比,有何优劣之处? - Dan Grahn
2
my_action_my_controller_path(project_id: 1) 是一个帮助函数,可以生成你想要的路径(如果需要,可以使用 my_action_my_controller_url 替代)。 - MrYoshiji
1
@MrYoshiji 是的!谢谢你;那正是我在寻找的。我找到了更多关于这个帮助程序的信息:http://guides.rubyonrails.org/routing.html#path-and-url-helpers - Alex Nault
@MrYoshiji 把它变成一个答案,这样每个人都可以看到。 - Alex Nault
2个回答

5
您应该能够使用以下内容。
link_to "Link Content", :controller => "my_controller", :action => "my_action", :project_id => 1

这将生成一个带有指向您的控制器/操作的链接的 <a>

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接