Как отследить самый первый раз, когда контроллер вызывается в пользовательской сессии (Ruby on Rails)? - PullRequest
0 голосов
/ 07 декабря 2018

Я хотел бы проверить, вызывается ли контроллер впервые в сеансе пользователя.Является ли переменная класса правильным выбором для этого?Любая хорошая практика относительно того, как осуществить эту проверку?

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Ответ на ваш вопрос: в сеансе пользователя

Вы можете сделать что-то подобное в вашем контроллере

before_action :record_visit

# ...


def record_visit
  session[:visited_controllets] ||= {}
  session[:visited_controllets][self.class.name] = true
end

Позже вы можете проверить, был ли доступ к данному контроллеру, используя session[:visited_controllets][contoller_class_name]

0 голосов
/ 07 декабря 2018

Вы можете использовать session переменную, которая устанавливает информацию в пользовательской сессии.Например:

if session[:my_controller_accessed]
  do_stuff_for_another_visit
else
  session[:my_controller_accessed] = true
  do_stuff_for_first_visit
end

Больше о сессиях: https://www.justinweiss.com/articles/how-rails-sessions-work/

...