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