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 経由でログアウトする必要がある場合は、これを

config/initializers/devise.rb:

config.sign_out_via = :get
于 2013-02-08T17:44:45.160 に答える