控制器操作不与Devise一起使用

时间:2014-01-06 19:48:16

标签: ruby-on-rails ruby devise controller

我已经使用Devise设置了用户身份验证,并在users_controller中创建了一个show动作,路由如下:

#users_controller.rb
def show
  @user = User.find(params[:id])
end

#routes.rb
match '/users/:id', to: 'users#show', via: 'get'

我想要做的是链接到当前登录的用户(用户个人资料),我试过:

%li= link_to "Profile", @user.id

但它似乎并不像我想要的那样工作。我也尝试过current_user,我认为它是Devise的标准辅助方法。

如何获取用户个人资料的链接?

P.S。在您提出之前:创建节目模板并在适当的方向上。

3 个答案:

答案 0 :(得分:0)

你试过吗

%li= link_to "Profile", users_show_path(@user.id)

获取路径检查

rake routes

编辑:

这样做

修改路线

match '/users/:id', to: 'users#show', via: 'get', as: "users"

然后

%li= link_to "Profile", users_path(current_user)

答案 1 :(得分:0)

这应该有效:

%li= link_to "Profile",user_path(current_user))

答案 2 :(得分:0)

路线

resources :users

在视图中

%li= link_to "Profile", user_path(@user)