我正在尝试在我正在处理的 Rails3 应用程序中创建一些干净的 URL……但我很难理解如何(或者如果我什至应该)自定义我的路由以使其工作。
这是示例:
我有一个商店列表。每个商店都属于一个类别(健康、运动等)。每个商店都有一个位置。
我有两种方式来呈现数据。一个显示是目录类型结构中所有商店的列表,另一个显示在地图上。
理想情况下,我希望我的 URL 可以像这样工作:
/stores/health/map(或/stores/map/health)仅在地图上显示健康存储(本质上,地图参数影响显示哪个视图,但仍使用索引控制器......使用集合在我的路线中似乎不适合)
我想要的另一个 URL 是 /stores/sports/ 以仅在目录视图(默认)中显示体育用品商店...
我不完全清楚如何操纵路线来处理这个......
这是我当前的路线,它并没有真正为我做这件事:
resources :stores do
collection do
get 'map'
end
end
最重要的是,我希望能够在不使用 ?query=params... 的情况下添加过滤器,所以:
/stores/sports/hockey ,基本上只会过滤掉曲棍球商店......
使用 ?query 执行此操作没有任何问题,它只是将我的参数放入我想要实现的更好的 URL 中。
该文档似乎没有概述我正在尝试做的事情,所以我假设我尝试做的事情是错误的。
这是破坏 REST 吗?我是在向后看吗?
谢谢你的帮助,JD