在 Rails 应用实现用户行为统计

本文介绍如何用 ahoy/groupdate/chartkick 实现用户行为统计。

B 站视频

代码摘要

ahoy

https://github.com/ankane/ahoy

安装 Ruby 库:

gem "ahoy_matey"
bundle install
rails generate ahoy:install
rails db:migrate

配置 API:

# config/initializers/ahoy.rb
Ahoy.api = true

安装 JavaScript 库:

npm add ahoy.js

修改 app/javascript/applicatoin.js

import ahoy from "ahoy.js"
window.ahoy = ahoy

Ruby 收集:

ahoy.track "event_name", language: "Ruby"

JavaScript 收集:

ahoy.track("event_name", {language: "JavaScript"});

groupdate

https://github.com/ankane/groupdate

安装库:

gem "groupdate"

使用:

Ahoy::Event.where_props(account_id: @account.id).group_by_day(:time, last: 7).count
# {
#   Wed, 01 Jan 2025 => 50,
#   Thu, 02 Jan 2025 => 100,
#   Fri, 03 Jan 2025 => 34
#   ...
# }

chartkick

https://github.com/ankane/chartkick

安装 Ruby 库:

gem "chartkick"

安装 JavaScript 库:

npm add chartkick chart.js

修改 app/javascript/applicatoin.js

import "chartkick/chart.js"
1
0
0
所有评论 0
@Rei
Ruby 程序员,Ruby China 管理员,GeekNote 创建者。