0

アプリをRails3にアップグレードしているところですが、とにかくルーティングを書き直す必要があるため、名前付きルートを改善するために少し時間がかかります。

ゴミ箱アクションのある請求書コントローラーがあります(/ invoices / trashはゴミ箱にあるすべての請求書を一覧表示します)。ビューを簡単にするために、名前付きルート(つまり、trash_url)を介してこれにアクセスしたいと思います。

私はこれを次のように簡単に達成することができます

match "/invoices/trash" => "invoices#trash", :as => :trash

私が知りたいのは、請求書コントローラーのルートを定義するブロック内でこれを行う方法があるかどうかです。次のことを試しましたが、機能しません。

resources :invoices do
  collection do
    get :trash, :as => :trash
  end
end

私がやろうとしていることは可能ですか、それともこのブロックの外側に名前付きルートを定義する必要がありますか?

ありがとう。

4

1 に答える 1

2

あなたがリストしたメソッド(以下に表示)は私にとってはうまく機能し、メソッドを生成trash_invoices_pathしてtrash_invoices_urlヘルパーにします。

resources :invoices do
  collection do
    get :trash, :as => :trash
  end
end

生成されたメソッドの代わりに特定のメソッド名を使用する必要がある場合は、アプリケーションコントローラーで名前付きのメソッドを作成し、上記の生成されたメソッドからパスを呼び出して返すことができますtrash_urltrash_path

于 2011-03-30T01:13:23.840 に答える