2010-12-06 2 views
0

テンプレートの一部として、私はapplication_controllerで作成されたいくつかの自動リンクを表示します。これらのリンクのいくつかは、ショーページから対応する編集ページへのナビゲーションと、いくつかの同様のものを提供します。現在のレコードに基づいて既知のアクションのためのレールパスを作成する

私の現在のコードが含まれています:

nav_links << {:name=>:edit,:url=>url_for(:action => :edit)} 

これは私が私のroutes.rbをファイルに定義された子リソースを持っているから離れて素晴らしい作品。それが有効な経路ではない

b/2/edit 

に移動

a/1/b/2/edit 

:この場合には代わりのにナビゲート

これを達成する方法についてのアイデアは非常に高く評価されます。私は可能な限り特殊なケースを避けることに熱心です。

答えて

0

ちょっと混乱しています。リソースが定義するルートを使用するだけではどうですか。あなたが「子リソース」に言及したことを考えれば、これらのリソースを宣言したと仮定できますか?もしそうなら - あなたは、コマンドラインからあなたに利用可能なルートのホスト...

  • 火災オフ「すくいルート」を持っている必要があり
  • は、それが最も可能性の高い二つの引数を取ります
  • あなたのルートを検索し、 (おおよそ)このような何かを見て:

    edit_a_b GET/A /:A_ID/B /:ID

  • ジャストedit_a_b_url(@a、@b)を使用

これは役に立ちます。

+0

私はアプリケーションコントローラでこれをやっているので、このコードはすべてのコントローラで実行されるため、既知のコントローラではなく、現在のコントローラの編集アクションを見つける必要があります。 – Leo

関連する問題