从Rails的URL中获取控制器和操作信息

10

如果有一条路由规则,我如何获取任何 (不仅限于当前) URL 的控制器和操作名称的信息?

例如:

function_i_need('/pages/5') 

返回

{:controller => 'page', :action => 'show', :id => 5}

更新:找到答案了。 Rails解析URL为哈希路由


你的意思是像运行rake routes这样吗? - cih
2
https://dev59.com/LHE85IYBdhLWcg3whT9r - Victor Moroz
@VictorMoroz,是的,这正是我想要的。 - lobanovadik
1个回答

18

你可以这样做:

Rails.application.routes.recognize_path "/pages/5"

1
Rails 3.2.13中存在一个bug -- 请参考https://dev59.com/oHDYa4cB1Zd3GeqPGPdV。有任何替代建议吗? - Isaac Betesh
1
你也可以为它们指定HTTP动词:Rails.application.routes.recognize_path('/pages/5', method: 'POST') - vimalloc

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