0

データベースのアイテムを使用していくつかのルートを生成できるようにしたい。したがって、新しいタイプを追加する場合、手動で新しいルートを作成する必要はありません。優先度の低いルートがいくつかあるので、match ":type"、:to => "items#search"だけを使用することはできません。これを探しても何も見つからなかったので、試してみたところうまくいきました。

Type.find(:all).each do |type|
    name = type.name
    match "#{name}", :to => "items#search"
end

私の質問は、そうすることは悪い習慣ですか、もしそうなら、なぜですか?

ありがとう

編集:私はすでに答えを受け入れましたが、私が本当に達成しようとしていたことは、次のように、パラメーターとしてタイプの名前をルートに渡すことであると付け加える必要があります。

Type.find(:all).each do |type|
    name = type.name
    match "#{name}", :to => "items#search", :type => name
end
4

1 に答える 1

1

アイテムに同じルートを使用するすべての異なるアイテムとしては問題ありません。

したがって、「items」と呼ばれるデータベーステーブルのすべての行は、同じ同じルートを使用します。

別のモデル、たとえば「price_ranges」がある場合は、そのメソッドにアクセスするための追加のルートがあります。

于 2012-09-30T01:01:56.630 に答える