2009-08-06 71 views
1

有没有什么办法可以让路轨上的轨道识别的路线?Rails:公认的路线

“recognition_path”方法中当前的rails实现& &“recognise”仅返回::controller,:action和:id(如果可用)以及任何其他url属性。但我想获得路径对象(wihtin ActionController :: Routing :: Routes.routes),轨道比较路径。

在此先感谢。

+0

你能提供一些关于你为什么要这样做的更多信息吗?您的问题可能有不同的解决方案。 – 2009-08-07 06:53:08

+0

你究竟想要做什么?而且,weppos说。 – 2009-08-07 08:21:49

+0

对不起,我的回复迟了,我不在城里。至于为什么我想要获取路由对象而不仅仅是当前请求的控制器和操作,我想要使用路由生成导航。如果我知道当前对象,则可以通过为Route添加一些方法(如祖先,父级,子级,子级)并获取导航元素(如面包屑,标签等)来扩展RouteSet和Route类......如果它不清楚,让我知道,我会尽力提供一些用例。 – Dharam 2009-08-12 16:27:33

回答

0

可以使用#recognize_path的相关部分获取的路线对象:

req = @request_class.new(env) 
@router.recognize(req) { |route, matches, params| ... } 

这会给你一个Journey::Route对象。

这是值得考虑的,如果这是最好的办法做到这一点,如果你想要做的就是生成面包屑。我不确定您能够检查路由对象是否有足够的信息自动生成面包屑。