2013-10-04 55 views
1

我建設用軌道4這個程序,我想的Rails的路由資源與用戶名,而不是ID

有這樣

example.com/users/username路線

代替example.com/users/id

要做到這一點我用Friendly Id

現在一切都工作,所以我不希望這條路可訪問

example.com/users/id

應該我個人制定的路線爲所有CRUD操作還是有辦法改變這個?

resources :users do 
    resources :post do 
     get 'expand' 
     get 'current' 
    end 
end 

謝謝!

回答

1

是的,你可以通過一個帶白色或黑色的crud動作列表的哈希值給資源方法。

例(白名單)

resources :users, only: [:index, :edit]

例(黑名單)

resources :users, except: [:show, :delete]

你應該隱藏 '秀' 的行動。

resources :users, except: [:show]

也,你可以看看這個指南http://guides.rubyonrails.org/routing.html#restricting-the-routes-created

+0

我想我解釋說自己錯了。 我不想要的是,例如,可以使用ID轉到用戶顯示頁面。但我仍然想要所有的動作 ,所以這將工作example.com/users/potato,而不是這個example.com/users/1 –

+0

你有解決它嗎?我有新的答案 - 您可以添加show/format:id格式的限制,您可以在其中更改:id和一些正則表達式;) –

+0

出現了一些問題,我不得不放棄該項目,但是當我離開我時沒有解決問題。謝謝你的提示 –