2013-02-16 85 views
2

我在我的routes.rb文件中定義了一個CRUD資源:resource :user添加Rails個人路由

我爲用戶添加了一個名爲search_places的新控制器方法,該方法在用戶上執行以找到具有相同place s的其他用戶。我正在添加一條路線。

現在,我有:

post '/user/search_place',這是不是很乾。我是新來的鐵軌和我讀了Rails路由記錄和計算過,我可能用

resource :user do 
 collection do 
   post 'search_place' 
 end 
end 

這被認爲是好的做法呢?我知道這是行得通的(它通過了我的rspec路線測試),但它是如何最好地完成?

謝謝

回答

1

當你添加第二個不需要的第一個。

補充一點:

resources :user do 
    collection do 
    post 'search_place' 
    end 
end 

刪除此:

resources :user 

這使得DRY :)

建議:資源名稱應爲多個定義如果u遵循Rails約定。 (即)resources :users

+0

是的,我只是把它取代:)因此,路線'集合'用於我假設的那些事情? – darksky 2013-02-16 16:17:29

+0

是的,這是一個錯字。我有複數。謝謝 – darksky 2013-02-16 16:19:16

+0

@Darksky ya'resources:users'提供全部七條默認路由。爲了向資源添加更多路線,我們使用'collection'或'member' – codeit 2013-02-16 16:21:32