路由错误:没有路由匹配 [GET] "/users/sign_out



我正在使用设计进行用户身份验证。在我看来,我已经设置了:

<% 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)

呼吸暂停说的。

<%= link_to "Log Out",  destroy_user_session_path, method: :delete  %>

默认注销是使用"删除"方法。您的路线还说该方法是"删除"

如果要使用"获取"方法

将 devise.rb 修改为

config.sign_out_via = :get

Baloo是对的,请确保使用:d elete方法。如果您调用

rake routes

您将看到路径和方法。

最新更新