设计注销路径将我带到用户#show

Devise sign out path is taking me to Users#show

有没有人对此有所了解,正如标题所说。我没有改变来设计代码或类似的东西,但突然之间我不能再退出了。它只是带我到 Users/show

<%= link_to "delete",  :controller => "devise/sessions", :action => "destroy" %>

<%= link_to "Logout", destroy_user_session_path, method: :delete  %></li>

路线:

 devise_for :users, controllers: {
 registrations: 'users/registrations',
 omniauth_callbacks: "users/omniauth_callbacks"

}

点击后会转到 http://localhost:3000/users/sign_out 这条路径,但实际上是 User#show 页面

这是来自 rails 条路线:

destroy_user_session DELETE   /users/sign_out(.:format)                 devise/sessions#destroy

注销的唯一方法是关闭浏览器以删除 cookie,然后我可以重新登录

看起来您的 link 设置正确。我愿意成为你有一些 Javascript 隐藏在某个地方,目标是 link(也许上面有一个 class 用于 on('click') 某处) .

如果是这种情况,请尝试将 preventDefault() 添加到 Javascript 以便忽略默认的 link 点击行为。