Rails路由到资源集?
问题描述:
像一个典型的Rails路线:Rails路由到资源集?
resource :customer
设置路线指数,显示等
访问所有的客户,我可以使用路由
/customers
要访问单用户,我用:
/customers/1
什么是最简洁,RESTful的方式创建一个路由和控制器的行动,将允许用户查看一组客户,即像
/customers/[1,2,3,4,5]
与理
用例更新时间:
- 此操作将通过Javascript调用以提供有关选定用户的详细信息。如果用户通过界面选择3个客户,我想一个请求拉方式为所有3,而不必让3个独立的请求
答
你可能只是保持你的路线很简单:resources :customers
。
通过路线将ID列表视为:id
,您将在params[:id]
中获得[1, 2, 3, 4]
。
然后在你的控制器中,例如before_filter,你可以检查id是否与某个正则表达式相匹配(比如... /\[(\d,)*\d\]/
),如果是这种情况,你可以提取id。
+0
希望有一些惯用的Rails/REST方法可以做到这一点,但由于似乎没有共识,因此您的方法听起来像工作。 – 2012-08-23 03:59:51
这些客户是如何关联的?例如,如果我想在同一页面上看到客户1,2,3,4和5,为什么我要查看这些特定客户? – 2012-08-16 22:16:45
我在想这可以通过一些关于您的情况的更多信息更好地清理。 – 2012-08-16 22:42:14
我仍然不相信“RESTful”意味着永远不使用查询参数,这可能是一个合理的解决方案。 – 2012-08-17 13:53:21