サイトでのユーザー アクティビティを追跡/記録するのに適した gem はありますか? サインイン、サインアウト、またはサイトで何かを変更するアクション (一般的には GET 要求以外) を実行する場合などです。
6 に答える
これはフォローアップです。public_activity という gem を使用しています。https://github.com/pokonski/public_activity . インストールとセットアップは非常に簡単です。
はい、あります。これが1つの紙の証跡です。https://github.com/airblade/paper_trail
その主な目的はモデルのバージョン管理ですが、各バージョンの作成者が登録されるため、ユースケースにも適していると思います。
その他の gem については、ruby ツールボックスで検索してください。この場合にチェックする必要があるカテゴリは次のとおりです。
https://www.ruby-toolbox.com/categories/Active_Record_User_Stamping
https://www.ruby-toolbox.com/categories/Active_Record_Versioning
たぶん、ユーザースタンプは実際にはあなたのユースケースに適しています.
PaperTrail、Vestalバージョン、監査済み、バージョンとして機能、Userstampなど、いくつかの同様の目的のgemを簡単に調査した ところ、次のことがわかりました。
PaperTrail、Vestalバージョン、およびActs as versionedは、すべて非常に強力なバージョン管理の宝石です。はい、ユーザーのアクティビティを監査/追跡するためにも使用できますが、「バージョン管理ツール」であるため、それほど単純ではありませんが、「監査目的」ではありません。
ユーザースタンプと監査対象は、目的のみを監査するためのものです。しかし、Userstampは古いバージョンのRails用です(これはプラグインです... Rails3(または3.1、3.2?)ではサポートされなくなりました)
したがって、Rails3のユーザーアクティビティの目的(モデルのバージョン管理は考慮しない)を監査するには、「監査済み」の方が適していると思います。これで十分です。さらに、アソシエーションとActiveRecord/MongoMapperをサポートします。
これがお役に立てば幸いです。
それらの情報を探している理由によって異なります。Papertrailなどは、モデルの変更を簡単に追跡できます。詳細については、Siwei Shen:s answer を参照してください。また、ユーザーのアクションに基づいてパブリック フィードを作成する方法を検討している場合は、gem のpublic_ativityタイプを使用できます。
また、グロース ハッキングや分析を行いたくない場合は、ユーザー フローは何ですか。多くの場合、カスタム ロギングを行う方が簡単です。モデルの横に長いテキスト フィールドを作成し、興味深いことが発生するたびに行を追加します。ユーザーがサービスをどのように使用しているか、およびサイトの変更が長期的な使用にどのように影響するかについて、時々データを処理したくない場合に適しています.
このタイプのアプローチの例については、https://github.com/holli/referer_trackingを参照してください。