【问题标题】:Devise sign out not signing out设计退出而不退出
【发布时间】:2012-09-02 22:24:19
【问题描述】:

我在使用 devise 退出时遇到问题。我正在创建这样的注销链接:

<%= link_to "Sign out", destroy_user_session_path %>

这导致了问题,因为找不到路由,所以我将它添加到我的 routes.rb 中:

get 'sign_out', :to => 'users/sessions#destroy', :as => :destroy_user_session

不会导致任何错误但也不会退出,user_signed_in? 仍然返回 true。

有什么想法吗?

【问题讨论】:

  • 尝试“设计/会话#destroy”

标签: ruby-on-rails devise omniauth


【解决方案1】:

试试 delete "logout" =&gt; "devise/sessions#destroy", :as =&gt; "logout"

&lt;%= link_to "Sign out", logout_path, :method =&gt; :delete %&gt;

【讨论】:

  • 我无法像我想要的那样使用 delete 动词,但是将路径更改为 devise/sessions#destroy 是可行的。谢谢
【解决方案2】:

应该是DELETE请求,可以这样完成,

<%= link_to("Sign Out", destroy_user_session_path, :method => :delete) %>

这不需要您向路线添加任何内容(假设您已经添加了设计路线)。

【讨论】:

    【解决方案3】:

    试试这个退出链接,它对我有用

    将您的退出链接更改为

    <%= link_to('Logout', destroy_user_session_path, :method => :delete) %>  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-23
      • 2012-10-24
      • 2013-09-20
      • 2015-09-30
      • 1970-01-01
      相关资源
      最近更新 更多