1

我有一个注销链接。

<a href="http://mydomain.lvh.me:3000/users/sign_out" data-method="delete" rel="nofollow">
    Sign Out
</a>

正确执行注销操作:

Started DELETE "/users/sign_out" for 127.0.0.1 at 2013-02-08 15:04:06 -0200
Processing by DeviseCustom::SessionsController#destroy as HTML
  Parameters: {"authenticity_token"=>"WYMm9e4VMNgdDFXbl59TKyylhX+rZlWbWMF8lVEeves="}
  User Load (0.2ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 150 LIMIT 1
   (0.1ms)  BEGIN
   (0.2ms)  COMMIT
Redirected to http://mydomain.lvh.me:3000/
Completed 302 Found in 4ms (ActiveRecord: 0.5ms)

我正在自定义 SessionsController 但我没有重新定义销毁操作。

class DeviseCustom::SessionsController < Devise::SessionsController
  respond_to :html, :js
  layout :false
  def create
    <MYCUSTOMCONTENT>
  end
end

但是在做完这一切之后,current_user 仍然保存着登录用户的信息。有什么帮助吗?

4

1 回答 1

1

确保您已在布局中包含默认的 javascript 文件。应该有这样一行:

<%= javascript_include_tag :defaults %>

在您的布局中。

需要通过 GET 注销然后将其添加到您的

配置/初始化程序/devise.rb:

config.sign_out_via = :get
于 2013-02-08T17:44:45.160 回答