1

我目前正在 Rails 3 应用程序中设置路线,如果有人能指出我正确的方向,我将不胜感激。

本质上,我正在设置一些路线来为一些链接的下拉菜单提供数据,并且希望能够拥有如下路线:

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

其中 01299999 和 02299999 是两个不同参数的 id(在这种情况下,假设 01299999 将 :vehicle_make 加载到参数中,02299999 是 :fuel_type 在参数中)。我知道我可以确保它们被路由到正确的控制器操作并通过使用约束加载正确的参数。

然而,使这变得复杂的是,我希望能够以任何顺序在 url 中指定多个选项,例如:

/vehicles/trims/01299999/02299999

或者

/vehicles/trims/02299999/01299999

这些将根据 ID 号的结构加载正确的参数(因此,如果它以“012”开头,则应始终为:vehicle_make,如果以“022”开头,则应始终为:fuel_type。我该怎么做?

附带说明一下,如果有人能指出如何限制我的模型的 id 列,那就太好了,这样当创建车辆制造商时,它的 id 应该始终以 012 开头,依此类推。

感谢您的帮助!

4

1 回答 1

1

路由通配符捕获任意数量的由 分隔的 URL 元素/,如下所示:

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

你说:

附带说明一下,如果有人能指出如何限制我的模型的 id 列,那就太好了,这样当创建车辆制造商时,它的 id 应该始终以 012 开头,依此类推。

通常,主键不应该是有意义的。

于 2011-07-06T16:52:09.610 回答