「請求書」の標準的なリソースの多いルート設定がありますが、状態に基づいて請求書レコードをフィルター処理する機能を追加しようとしています。
/invoices - shows all invoices
/invoices/unpaid - shows all unpaid invoices
/invoices/paid - shows all paid invoices.
/invoices/3 - shows invoice #3
明示的に定義された一致ルートで問題なく動作するようになりました。
match "/invoices/pending" => "invoices#index", :state => 'pending'
ただし、考えられる状態の数が増えると、これはルートを定期的に変更することを意味し、また、かなりの回数を繰り返すことを意味します。
私の次の試みは、このルートをマッチ ルートの名前付きパラメータでもう少し動的にすることでした。
match "/invoices/:state" => "invoices#index"
ただし、これは /invoices/id ルートを否定し、状態パラメーターに基づいて検索しているため、/invoices/3 を検索しようとしてもレコードが見つかりません。
このような動的に機能するフィルタールートの定義を手伝ってくれる人はいますか?