Автоматический выход из системы после закрытия браузера (ruby on rails) - PullRequest
0 голосов
/ 22 ноября 2018

У меня проблема с обработкой сеанса.Я пытаюсь сделать так, чтобы учетную запись пользователя нужно было выходить каждый раз при закрытии браузера, если не установлен флажок remeber me .Однако пользователь продолжает входить в систему, когда я закрываю и снова открываю браузер, не устанавливая флажок remember me.Кто-нибудь поможет?

Просмотр

<%= form_tag sessions_path do %>
        <div class="form-group">
          <label for="email" class="text-info">Email:</label><br>
          <input type="text" name="email" id="email" class="form-control">
        </div>
        <div class="form-group">
          <label for="password" class="text-info">Password:</label><br>
          <input type="password" name="password" id="password" class="form-control">
        </div>
        <div class="field">
          <%= label_tag :remember_me %>
          <%= check_box_tag :remember_me, 1, params[:remember_me] %>
        </div>
        <div class="form-group">
          <input type="submit" name="Sign_in" class="btn btn-info btn-md" value="submit">
        </div>
<% end %>

SessionsController

  def create
    user = User.find_by(email: params[:email])
    if user && user.authenticate(params[:password])

      if params[:remember_me]
        cookies.permanent[:auth_token] = user.auth_token
      else
        cookies[:auth_token] = user.auth_token
      end

      log_in(user)
      redirect_to user_path(user.id)
    else    
      redirect_to new_session_path
    end
  end


  def destroy
    cookies.delete(:auth_token)
    log_out
    redirect_to '/'
  end

Sessionshelper

  def log_in(user)
    session[:user_id] = user.id
  end

  def current_user
    @current_user ||= User.find_by_auth_token( cookies[:auth_token]) if cookies[:auth_token]
  end

  def log_out
    session.delete(:user_id)
    @current_user = nil
  end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...