2010-12-22 56 views
4

給定一個與裝置和後一個「東西」管理用戶之間一對多的關係,我的目標是繪製喜歡寧靜的路線:繪製路線瓦特/設計

http://host/username 
http://host/username/things 
http://host/username/things/1 
... 

我知道了Rails路由中的nested resources,但我無法弄清楚如何將它應用到通過設計創建和管理的通用用戶模型。

回答

13

您可以使用scope此:

scope ":username", :as => "user" do 
    resources :things 
end 

用戶模型to_param結合本:

​​

而且你必須航線如/username/things。但要小心,用戶名不應包含任何點,正斜槓或標準URI字符。您可能需要在username的末尾查找parameterize以確保。

+1

用`to_param`組合很好的答案。 – Peter 2011-04-30 07:01:56

0

您還可以使用resource :user, path: ':id' do ... end

也不要忘了在用戶模式來定義to_param在控制器&使用User.find_by_username(params[:id])