2013-10-12 27 views

回答

4

我假設這是一個GET請求。因此,這將是這樣的:

路由定義

get '/:username', to: 'users#show', as: 'user_by_name' 

用途:

link_to 'Show', user_by_name_path(user.username) 

useruser.username應與實際變量代替。

更多在Non Resourceful Routes官方指南。

如果您想覆蓋users資源,請關注此主題https://stackoverflow.com/a/18261912/383912。對於show路由,您需要使用'member'而不是'collection'。

+0

+1,應該'get'/:username''而不是''/ users /:username'' OP想要這樣的網址'site.com/username' –

+0

哦,是的,謝謝指點。我假設他知道這些的副作用。 – HungryCoder

2

您可以設置路徑是在路線:

resources :users, path: '', only: [ :show, :edit, :update, :destroy ] 

你可以離開了:only,如果你想的索引頁,並創建行動,爲用戶映射到/

檢查出friendly_id輕鬆使用用戶名作爲路由中的ID。

確保在用戶路由之前定義其他路由,例如​​,否則它們將被解釋爲用戶標識。