作業中のアプリケーションの現在のパスにあるルート セグメント キーの数を特定する必要があります。関連する Rails 3 ソース ファイルを少し調べても、わかりません。
現在のルートからパスを使用url_forして構築する方法は知っていますが、実際にルートへのマップが使用されているrequestに到達する方法はわかりません。必要なルートのインスタンスを取得できれば、Route#segment_keys を呼び出すだけで、必要なものを取得できます。ActionController::Routing::Routeurl_for
誰かが興味を持っている場合、私がこれを行っている理由は、選択ドロップダウンでリソースを切り替えて、現在選択されているリソースに適用される現在のビューにとどまることができるようにするためですが、現在のパスにネストされたパスが含まれていない場合に限ります(つまり、番号 1 は 2 の子ではないため、トグルしますが、トグル間ではトグル/resources/1/editしません)。/resources/2/edit/resources/1/subresources/1/resources/2/subresources/1subresourceresource