Rails 3和Devise.杀死当前的会话

Jon*_*ark 11 ruby-on-rails-3

我有一个使用Devise的Rails 3应用程序.我只是想知道如何"杀死"当前的会话?

这有效,但我不知道它做了什么

Devise.sign_out_all_scopes ? sign_out : sign_out(resource_name)
Run Code Online (Sandbox Code Playgroud)

这不起作用

current_user = nil
Run Code Online (Sandbox Code Playgroud)

这也不起作用

session[:current_user] = nil
Run Code Online (Sandbox Code Playgroud)

Muh*_*man 20

你可以这样做

sign_out current_user 
Run Code Online (Sandbox Code Playgroud)

要么

sign_out :user     # sign_out(scope)
Run Code Online (Sandbox Code Playgroud)

要么

sign_out @user     # sign_out(resource)
Run Code Online (Sandbox Code Playgroud)


Sub*_*ied 11

您可能需要sign_out方法,并传递要注销的用户或范围(例如:user).

查看Devise Ruby Doc以获取更多信息.