2015-11-05 56 views
0

東西,我想使用類似domain.com/users/foo替代路線看起來像/users/user_id/替換資源的user_id與其他

很公平,你可以做get "https://stackoverflow.com/users/:name/.....但我使用嵌套的資源:

devise_for :users, :controllers => { omniauth_callbacks: 'omniauth_callbacks' } 

    resources :users do 
    resource :profile 
    resources :supports do 
     post :interest 
    end 
    end 

是有辦法將資源users/user_id更改爲users/firstname

回答

2

爲此,您可以使用friendly_id gem或者您可以在用戶模型中定義to_param方法。

def to_param 
    "#{name}" 
end 
+0

雖然工作,有沒有辦法改變routes.rb? – Sylar

+0

@Sylar如果你使用'to_param'確保每個名字都是唯一的。 'friendly_id'寶石是一個不錯的選擇(它會產生獨特的slu))。 Upvoted。 – Jaxx

+0

我正在使用Twitter身份驗證,因此他們的用戶名將是唯一的。 – Sylar