使用javascript检查是否使用devise登录

Sol*_*mon 15 javascript cookies devise ruby-on-rails-3

我有一个使用devise进行身份验证的rails 3应用程序,并且想要使用javascript来查看用户是否已登录.有什么最好的方法呢?

Kar*_*aen 16

由于Devise基于Warden,因此您可以使用Warden的回调来设置一个额外的cookie,该cookie将从js中显示(与仅服务器的会话cookie不同),例如在您的devise.rb中:

  Warden::Manager.after_set_user do |user,auth,opts|
    auth.cookies[:signed_in] = 1
  end

  Warden::Manager.before_logout do |user,auth,opts|
    auth.cookies.delete :signed_in
  end
Run Code Online (Sandbox Code Playgroud)