userRails アプリケーションで、 aが だった時間を記録したいと思いますlast_seen。
現在、私は次のようにこれを行いますSessionsHelper:
def sign_in(user)
.....
user.update_column(:last_seen, Time.zone.now)
self.current_user = user
end
しかし、これはあまり正確ではありません。ユーザーが午前 8 時にログインし、夕方になってもlast_seenデータベース列にはその時刻が含まれている可能性があるからです。
last_seenそのため、ユーザーがアクションを実行するたびに更新することを考えていました:
class ApplicationController
before_filter :update_last_seen
private
def update_last_seen
current_user.last_seen = Time.zone.now
current_user.save
end
end
しかし、ユーザーが行うすべてのアクションでデータベースがヒットするため、私はそのアプローチも好きではありません。
では、これに代わるより良い方法は何でしょうか?