如何更改从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
答案 0 :(得分:0)
在您的控制器中,按username
而不是id
搜索:
@user = User.find_by_username(params[:id])
现在,在您看来,将username
而不是id
传递给user_path
帮助者:
<%= link_to t.user.username, user_path(t.user.username) %>