我正在使用设计进行用户身份验证。在我看来,我已经设定了:
<% if user_signed_in? %>
<li><%= link_to "Log Out", destroy_user_session_path %></li>
<% else %>
<li><%= link_to "Sign In", new_user_session_path %></li>
<% end %>
然而,当我点击Log_Out时,我收到一个错误:
没有路线匹配[GET]“/ users / sign_out”
然而,当我检查我的佣金路线时,我得到了:
devise/sessions#destroy destroy_user_session DELETE /users/sign_out(.:format)
答案 0 :(得分:1)
apneadiving说了什么。
<%= link_to "Log Out", destroy_user_session_path, method: :delete %>
答案 1 :(得分:1)
默认退出是使用“删除”方法。你的路线还说方法是“删除”
如果你想使用“get”方法
将devise.rb修改为
config.sign_out_via = :get
答案 2 :(得分:0)
Baloo是对的,请务必使用:delete方法。如果你调用
,你可以清楚地看到这一点rake routes
您将看到路径和方法。