Сессия не уничтожается при закрытии браузера - RailsTutorial.org

Работая через railstutorial.org Майкла Хартла, я нахожусь в главе 8 (в частности, 8.2.3). В настоящее время проблема заключается в реализации сеанса для обеспечения входа пользователя в систему в нескольких представлениях, но функциональность, реализованная в этом разделе, должна бытьвременный сеанс, который истекает (выходит из системы), когда окно браузера закрыто. Вот выписка из учебника с указанием такого:

Если вы полностью выйдете из браузера, вы также сможете проверить, что приложение забывает ваш статус входа, требуя, чтобы вы снова вошли в систему, чтобы увидеть изменения, описанные выше.

Я протестировал эту функциональность как в Google Chrome, так и в Firefox - я успешно вошел в систему, перешел на несколько страниц (чтобы убедиться, что мой сеанс сохраняется после перенаправления log_in), а затем закрыл браузер - но когда я перезагружаю веб-приложение, Я все еще вошел в систему. Я скопировал весь кодименно так как написано в тексте, но безрезультатно. Для справки, вот мойsessions_helper.rb файл:

module SessionsHelper

  # Logs in the given user.
  def log_in(user)
    session[:user_id] = user.id
  end

  # Returns the current logged-in user (if any).
  def current_user
    @current_user ||= User.find_by(id: session[:user_id])
  end

  # Returns true if the user is logged in, false otherwise.
  def logged_in?
    !current_user.nil?
  end

end

А вот мойsessions_controller.rb файл (destroy действие еще не реализовано, так как я не дошел до того, что в тексте даю кнопке «Выйти» какие-либо функции):

class SessionsController < ApplicationController

  def new
  end

  def create
    user = User.find_by(email: params[:session][:email].downcase)
    if user && user.authenticate(params[:session][:password])
      # Log the user in and redirect to the user's show page.
      log_in user
      redirect_to user
    else
      flash.now[:danger] = 'Invalid email/password combination' 
      render 'new'
    end
  end

  def destroy
  end

конец

Замечания: В вашем ответе пожалуйстане делайте предложите добавить альтернативный код или изменить существующий код (если только вы не видите ошибку в коде, который я разместил). Учебник предполагает, что это рабочий код и не нуждается в каких-либо изменениях для его правильной работы.

Ответы на вопрос(2)

Ваш ответ на вопрос