我想检查是否在用户会话中第一次调用了控制器。类变量是正确的选择吗?关于如何执行此检查有什么好的做法?
答案 0 :(得分:3)
您可以使用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/
答案 1 :(得分:3)
答案在您的问题中: 在用户会话中
您可以在控制器中执行类似的操作
before_action :record_visit
# ...
def record_visit
session[:visited_controllets] ||= {}
session[:visited_controllets][self.class.name] = true
end
稍后,您可以检查是否使用session[:visited_controllets][contoller_class_name]