我已经看到了这方面的解决方案,但似乎都不适合我在这里尝试做的事情。我有这个代码作为管理员,我想在每个用户的名字旁边有一个链接,以该用户身份登录。
<ol>
<% User.all.each do |u| %>
<li>
<%= u.username %>
[enter link_to sign in @u or something]
</li>
<% end %>
</ol>
答案 0 :(得分:0)
答案 1 :(得分:0)
因此,在这种情况下,设计sign_in
辅助方法非常有用,但我们无法在视图中使用它,因此我们必须在内部routes
devise
方法中生成sign_in
要实现这一目标,您必须遵循以下步骤
get "sign/:id"=>"pages#sign",as:'user_sign'
在路线中添加以上代码
而不是在controler中创建sign
操作
def sign
user = User.find(params[:id])
sign_in_and_redirect(user)
end
最后在视图中进行更改,以便所有代码都能正常工作
<li>
<%= u.username %>
<a href="/users/<%= u.id %>">Prof.</a>
<img width="50" src="<%= u.profilepic %>">
<%= link_to "sign in",user_sign_path(u.id)%>
</li>
我希望它为你工作
只是调整从视图
调用sign_in
方法