Ruby 用户在刷新之前未注销
我的用户注销方法遇到问题。大多数情况下,该方法只有在刷新后才会注销当前文件。更清楚地说,是这样的。用户注销后,页面将重定向到主页,并且仍然显示用户已登录,登录用户可用的所有选项都显示在标题中。在刷新页面之前,用户不会完全注销。有时,它的工作原理是不受影响的,但大多数情况下,它不是 以下是我的SessionController销毁方法:Ruby 用户在刷新之前未注销,ruby,ruby-on-rails-4,Ruby,Ruby On Rails 4,我的用户注销方法遇到问题。大多数情况下,该方法只有在刷新后才会注销当前文件。更清楚地说,是这样的。用户注销后,页面将重定向到主页,并且仍然显示用户已登录,登录用户可用的所有选项都显示在标题中。在刷新页面之前,用户不会完全注销。有时,它的工作原理是不受影响的,但大多数情况下,它不是 以下是我的SessionController销毁方法: def destroy close_project sign_out redirect_to root_url end 我的会话
def destroy
close_project
sign_out
redirect_to root_url
end
我的会话助手:
def sign_in(user)
remember_token = User.new_remember_token
cookies.permanent[:remember_token] = remember_token
user.update_attribute(:remember_token, User.encrypt(remember_token))
self.current_user = user
end
def signed_in?
!current_user.nil?
end
def current_user=(user)
@current_user = user
end
def current_user
remember_token = User.encrypt(cookies[:remember_token])
@current_user ||= User.find_by(remember_token: remember_token)
end
def sign_out
self.current_user = nil
cookies.delete(:remember_token)
end
知道为什么会发生这种情况吗。您可能面临缓存问题。如果登录和注销的用户都可以访问主页url,则必须将页面标记为至少可私人缓存。在开发环境中也会发生这种情况吗 您的问题也可能与此相关: