1

私は現在、Rails 3 アプリケーションでルートを設定しています。誰かが私を正しい方向に向けることができれば幸いです。

基本的に、チェーンされたドロップダウンにデータを提供するためにいくつかのルートを設定しており、次のようなルートを設定できるようにしたいと考えています。

/vehicles/trims/01299999
/vehicles/trims/02299999

01299999 と 02299999 は 2 つの異なるパラメーターの ID です (この場合、01299999 は :vehicle_make をパラメーターにロードし、02299999 はパラメーターの :fuel_type であるとします)。制約を使用することで、正しいコントローラー アクションに確実にルーティングし、正しいパラメーターをロードできることを認識しています。

ただし、これを複雑にしているのは、URL に複数のオプションを任意の順序で指定できるようにしたいということです。

/vehicles/trims/01299999/02299999

また

/vehicles/trims/02299999/01299999

これらは ID 番号の構造に基づいて正しいパラメータをロードします (したがって、「012」で始まる場合は常に :vehicle_make であり、「022」で始まる場合は常に :fuel_type である必要があります。これを行うにはどうすればよいですか?

補足として、誰かが私のモデルの id 列を制約する方法を示すことができれば、それは素晴らしいことです.

ご協力ありがとうございます。

4

1 に答える 1

1

/ルート ワイルドカードは、次のように区切られた任意の数の URL 要素をキャッチします。

match '/vehicles/trims/*trims' => 'vehicles#trims'
# change 'vehicles#trims' to match your controller and action names

あなたは言う:

補足として、誰かが私のモデルの id 列を制約する方法を示すことができれば、それは素晴らしいことです.

原則として、主キーは意味のあるものであってはなりません。

于 2011-07-06T16:52:09.610 に答える