2012-08-16 119 views
0

像一個典型的Rails路線:Rails路由到資源集?

resource :customer 

設置路線指數,顯示等

訪問所有的客戶,我可以使用路由

/customers 

要訪問單用戶,我用:

/customers/1 

什麼是最簡潔,RESTful的方式創建一個路由和控制器的行動,將允許用戶查看一組客戶,即像

/customers/[1,2,3,4,5] 

與理

用例更新時間:

  • 此操作將通過Javascript調用以提供有關選定用戶的詳細信息。如果用戶通過界面選擇3個客戶,我想一個請求拉方式爲所有3,而不必讓3個獨立的請求
+0

這些客戶是如何關聯的?例如,如果我想在同一頁面上看到客戶1,2,3,4和5,爲什麼我要查看這些特定客戶? – 2012-08-16 22:16:45

+0

我在想這可以通過一些關於您的情況的更多信息更好地清理。 – 2012-08-16 22:42:14

+0

我仍然不相信「RESTful」意味着永遠不使用查詢參數,這可能是一個合理的解決方案。 – 2012-08-17 13:53:21

回答

0

你可能只是保持你的路線很簡單: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