user
Rails アプリケーションで、 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
しかし、ユーザーが行うすべてのアクションでデータベースがヒットするため、私はそのアプローチも好きではありません。
では、これに代わるより良い方法は何でしょうか?