Devise - Złóż żądanie bez resetowania odliczania do czasu wylogowania użytkownika z powodu braku aktywności

Pracuję nad aplikacją RoR z Devise. Chcę pozwolić klientom wysłać żądanie do serwera, aby sprawdzić, ile czasu pozostało do automatycznego wylogowania użytkownika z powodu braku aktywności (przy użyciuTimeoutable moduł). Nie chcę, aby to żądanie powodowało, że Devise resetował odliczanie do czasu wylogowania użytkownika. Jak mogę to skonfigurować?

Oto kod, który mam teraz:

class SessionTimeoutController < ApplicationController
  before_filter :authenticate_user!

  # Calculates the number of seconds until the user is
  # automatically logged out due to inactivity. Unlike most
  # requests, it should not reset the timeout countdown itself.
  def check_time_until_logout
    @time_left = current_user.timeout_in
  end

  # Determines whether the user has been logged out due to
  # inactivity or not. Unlike most requests, it should not reset the
  # timeout countdown itself.
  def has_user_timed_out
    @has_timed_out = current_user.timedout? (Time.now)
  end

  # Resets the clock used to determine whether to log the user out
  # due to inactivity.
  def reset_user_clock
    # Receiving an arbitrary request from a client automatically
    # resets the Devise Timeoutable timer.
    head :ok
  end
end

SessionTimeoutController#reset_user_clock działa, ponieważ za każdym razem, gdy RoR otrzymuje żądanie od uwierzytelnionego użytkownika,Timeoutable#timeout_in jest resetowany do wszystkiego, co skonfigurowałemDevise#timeout_in. Jak mogę zapobiec ponownemu uruchomieniucheck_time_until_logout ihas_user_timed_out?

questionAnswers(3)

yourAnswerToTheQuestion