Ruby 用户在刷新之前未注销

Ruby 用户在刷新之前未注销,ruby,ruby-on-rails-4,Ruby,Ruby On Rails 4,我的用户注销方法遇到问题。大多数情况下,该方法只有在刷新后才会注销当前文件。更清楚地说,是这样的。用户注销后,页面将重定向到主页,并且仍然显示用户已登录,登录用户可用的所有选项都显示在标题中。在刷新页面之前,用户不会完全注销。有时,它的工作原理是不受影响的,但大多数情况下,它不是 以下是我的SessionController销毁方法: def destroy close_project sign_out redirect_to root_url end 我的会话

我的用户注销方法遇到问题。大多数情况下,该方法只有在刷新后才会注销当前文件。更清楚地说,是这样的。用户注销后,页面将重定向到主页,并且仍然显示用户已登录,登录用户可用的所有选项都显示在标题中。在刷新页面之前,用户不会完全注销。有时,它的工作原理是不受影响的,但大多数情况下,它不是

以下是我的SessionController销毁方法:

  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,则必须将页面标记为至少可私人缓存。在开发环境中也会发生这种情况吗

您的问题也可能与此相关: