J'utilise la session ruby on rails pour stocker un cookie utilisateur afin de le garder connecté. Je ne peux donc pas mettre à jour une colonne last_seen après sa connexion. J'essaie de trouver le meilleur moyen de savoir si un utilisateur a été actif le dernier jour. Voilà ce que j'ai à ce jour, mais je me demande s'il y a une meilleure façon:Recherche de la dernière heure active pour l'utilisateur connecté
class ApplicationController
before_filter :update_last_seen
private
def update_last_seen
if (DateTime.now - 1.day) < current_user.last_seen
current_user.last_seen = DateTime.now
current_user.save
end
end
end
Le problème est qu'il va être appelée avec chaque demande. y-a-t-il un moyen d'éviter ça? Le cookie de session est-il mis à jour d'une manière ou d'une autre lorsqu'un utilisateur est actif?
Ok merci, ça ressemble à update_last_request_at! pourrait être la méthode utilisée par Authlogic: http://github.com/qoobaa/sms/blob/41e2ee0ea1425b44db29150a940f153aaaac50d7/vendor/gems/authlogic-1.4.1/lib/authlogic/session/timeout.rb. – TenJack