1

如何将设计路线从 id 更改为用户名?

我希望路径类似于

http://www.site.com/users/username 

代替

http://www.site.com/users/id

在我看来:

<span>posted by: <%= link_to( t.user.username, user_path( t.user.id ) ) %></span>

在我的用户模型中:

def to_param
    username
end

但是,我收到一个路由错误,说明uninitialized constant UsersController.

我在 routes.rb 中设置了这些路由:

devise_for :users

root :to => 'tickets#index'

resources :users do
    resources :tickets
end

resources :tickets
4

1 回答 1

0

在您的控制器中,搜索 byusername而不是 by id

@user = User.find_by_username(params[:id])

现在,在您看来,传递给助手username而不是:iduser_path

<%= link_to t.user.username, user_path(t.user.username) %>

于 2012-04-16T23:20:35.047 回答