2009-08-06 70 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對象。

這是值得考慮的,如果這是最好的辦法做到這一點,如果你想要做的就是生成麪包屑。我不確定您能夠檢查路由對象是否有足夠的信息自動生成麪包屑。