0

テンプレートの一部として、application_controller で作成される自動リンクをいくつか示します。これらのリンクのいくつかは、表示ページから対応する編集ページへの直接のナビゲーションを提供します。

私の現在のコードには以下が含まれます:

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

これは、routes.rb ファイルに子リソースが定義されていることを除けば、うまく機能します。

この場合、次の場所に移動する代わりに:

a/1/b/2/edit

にナビゲートします

b/2/edit

これは有効なルートではありません。

これを達成する方法についてのアイデアは大歓迎です。可能な限り特別なケースを避けたいと思っています。

4

1 に答える 1

0

少し混乱しています-リソースが定義するルートを使用しないのはなぜですか。あなたが「子リソース」について言及したことを考えると、私はあなたがこれらのリソースを宣言したと思いますか?もしそうなら-あなたはあなたが利用できるルートのホストを持っている必要があります...

  • コマンドラインから「レーキルート」を起動します
  • あなたのルートを見つける
  • ほとんどの場合、2つの引数を取り、次のようになります(大まかに):

    edit_a_b GET / a /:a_id / b /:id

  • edit_a_b_url(@a、@b)を使用するだけです

お役に立てれば。

于 2010-12-06T18:29:25.910 に答える