6

ユーザーが Web サイトに長時間滞在しているとします。
ユーザーの最後のアクティブ時間を取得するにはどうすればよいですか。最終アクティブ時間とは、アプリに要求した (ページにアクセスした。ユーザーは新しいレコードを更新または作成する必要さえない) ユーザーの最後のタイムスタンプを意味します。

ユーザーは約 1 時間前にサインインした可能性があります。それから彼はまだ私のウェブサイトでウェブサーフィンをしています. ユーザーが送信した最後のリクエストの時間が必要です。

出来ますか?

Devise にはcurrent_sign_in_atがありますが、最後のアクティブ時間はありません。

4

1 に答える 1

22

これを実装する方法は、日時列をユーザーモデルに追加してlast_active_atから、コントローラーに何かを配置することです。

class ApplicationController
  before_filter :record_user_activity

  private

  def record_user_activity
    if current_user
      current_user.touch :last_active_at
    end
  end
end
于 2013-01-03T00:22:09.720 に答える