Ruby on rails 铁路:公认的路线

Ruby on rails 铁路:公认的路线,ruby-on-rails,Ruby On Rails,在给定路径的情况下,有没有办法获得rails识别的路线 方法recognize\u path&&recognize中rails的当前实现只返回带有:controller、:action和:id(如果可用)以及任何其他url属性的散列。但是我想在ActionController::Routing::Routes.Routes中获取route对象,rails会比较路径 提前感谢。您可以使用“识别路径”的相关部分到达路由对象: req = @request_class.new(env) @router

在给定路径的情况下,有没有办法获得rails识别的路线

方法recognize\u path&&recognize中rails的当前实现只返回带有:controller、:action和:id(如果可用)以及任何其他url属性的散列。但是我想在ActionController::Routing::Routes.Routes中获取route对象,rails会比较路径


提前感谢。

您可以使用“识别路径”的相关部分到达路由对象:

req = @request_class.new(env)
@router.recognize(req) { |route, matches, params| ... }
这将给你一个对象


如果您只想生成面包屑,那么这是否是最好的方法值得考虑。我不确定您是否能够检查route对象以获取足够的信息来自动生成面包屑。

您能否提供更多关于为什么要这样做的信息?你的问题可能有不同的解决方案。你到底想做什么?还有,weppos说的。很抱歉我的回复延迟了,我不在城里。至于我为什么想要获得route对象,而不仅仅是当前请求的控制器和操作,是因为我想要使用routes生成导航。如果我知道当前对象,我可以通过添加一些方法来扩展RouteSet和Route类,例如路由的祖先、父级、子级、子级,并获得导航元素,如面包屑、选项卡等,。。。如果不清楚,请告诉我,我将尝试提供一些用例。