私は自分の質問に答えるのが嫌いです。特に、あなたが両方とも役に立つ答えをくれたことを考えると. 私が取ったアプローチで私の質問に答えることは、あなたの答えと組み合わせて他の人を助けるかもしれないと思います.
私はImpressionist Gem (廃止された RailStat 以来、唯一の有用なページ ビュー Gem) で遊んでおり、これまでのところ良い結果が得られています。基本的な移行を設定した後、予想される使用法が Rail の MVC 設計に非常に厳密に従っていることがわかりました。「印象派」をコントローラーに追加すると、ページビューをデータベースに記録するときにモデルを探しに行きます。この動作を変更するか、コントローラー (または実際にはどこでも) で自分自身を呼び出して、モデルを持たないコントローラーでテストすることができます。
とにかく、Devise::SessionsController をオーバーライドし、@current_member の印象派メソッドを呼び出すだけで、成功したログインを追跡するために Devise と連携しました: (失敗したログインで nil かどうかを確認することを忘れないでください)
class TestSessionController < Devise::SessionsController
def create
if not @current_member.nil?
impressionist(@current_member)
end
super
end
end
一部の限定的な分析のために後で他のサイト パーツに追加するのは簡単です。他にやらなければならなかったことは、Devise ログイン ルートに新しい TestSessionController を使用するようにルートを更新することだけでした。
post 'login' => 'test_session#create', :as => :member_session
とにかくDeviseを変更する必要なく、Deviseは通常どおりに動作し、印象派のDBテーブルはインデックス化され、ログインを記録しています。後でレーキ タスクが必要になるだけで、週に 1 回程度トリミングできます。
あとは、大量のループする汚いクエリを書かずに、毎日のログインをチャート化する方法を考え出す必要があります...