问题标签 [ahoy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
581 浏览

ruby-on-rails - ActiveJob 没有排队工作

我已经实现了Ahoy来跟踪我的应用程序中的事件,并且我想将处理移动到后台作业中。

当我打电话时我的设置工作正常perform_now(工作得到处理),但更改为perform_later不起作用。从日志来看,这项工作似乎甚至没有入队。

config/initializers/ahoy.rb

app/jobs/ahoy_track_event_job.rb

我已经尝试过 Sidekiq 和 SuckerPunch:

0 投票
0 回答
164 浏览

ruby-on-rails - Ahoy_email gem - 绕过 ahoy_message 创建?

我在我的 rails 应用程序中使用Ahoy_Email gem。是否有设置绕过为某些电子邮件创建 ahoy_message - 例如:我不想为测试电子邮件创建新的 ahoy 消息实例 - 我想为这些电子邮件绕过此 gem 的所有功能。

我为我的测试电子邮件添加了以下设置:track message: falsetrack click: falsetrack open: falsetrack utm_params: false它们可以工作,但仍然会创建 ahoy 消息实例。我想这是一个非常简单的设置,但我只是在文档中看不到如何执行此操作。谢谢!

0 投票
1 回答
307 浏览

mongoid - Rails 5.2 & Ahoy 2 - “nil:NilClass 的未定义方法 `visitor_token'”

我正在运行 Rails 5.2 和很棒的Ahoy gem,其中 mongoid 作为 ORM。

在主页控制器中,我正在调用current_visit.visitor_token,这会产生以下错误:

ahoy_visitcookie 中存储的值是b5b4fd64-ec42-4e6d-9740-e394ed4a24da,但 Ahoy 似乎正在搜索不同的值visit_token(如上)。

初始化程序/ahoy.rb:

如果我从浏览器中清除网站数据(或在隐身窗口中打开新会话),直到我再等一天(我猜测会话到期)才会发生错误。

我已经搜索了所有代码,无法弄清楚为什么 Ahoy 没有在数据库中创建新的访问记录。

提前感谢您的帮助!

0 投票
0 回答
500 浏览

ruby-on-rails - 未使用 after_validation 创建的访问:geocode 未注释

我已将 Ahoy 集成到我们的平台中,它非常适合跟踪事件等。我现在正在尝试通过启用地理编码来扩展功能。我遇到的问题是,一旦我取消注释

行,访问停止记录在数据库中。

我在这里做错了什么?

访问.rb

ahoy.rb (注意测试的短暂访问时间):

地理编码器.rb

重申一下,当我注释掉地理编码行访问时,会正确记录并且 ahoy 按预期工作。谢谢。

编辑 我确定有一个异常被抛出,但它没有在日志中冒泡,并且我启用了调试日志记录。Ahoy 只是声明“[ahoy] Event 由于访问未创建而被排除:”但在 UI 上我们可以看到访问正在通过来自 ahoy 的这些日志语句开始:

访问开始

ahoy.self-01ef77de70801670c1f7f2f12fea979d59ba70488a77db75270b57ec5b1a2f8e.js?body=1:175 {visit_token: "4c7e0bcb-7afb-48cd-91ed-1bdf0d614767", visitor_token: "374bf981-d843-45c3-953d-0f0b8fd5a6a7", platform: "Web", landing_page: " http://localhost:3000/ ", screen_width: 1680, ...}

ahoy.self-01ef77de70801670c1f7f2f12fea979d59ba70488a77db75270b57ec5b1a2f8e.js?body=1:175 {name: "$click", properties: {…}, time: 1533656941.084, id: "c967b67f-96f7-4f18-a9a8-df3735fdc1c2", js: true}

0 投票
1 回答
538 浏览

ruby-on-rails - 打开跟踪不适用于 Rails ahoy_email gem

我在 Rails 中使用 ahoy_email gem,我无法进行简单的打开跟踪工作,而且我不知道如何调试它。

发送邮件时正在生成消息记录:

我的主机配置:

发送的电子邮件包括隐藏图像:

但是打开电子邮件时,opens_at 字段仍然为零

为了调试,我已将相应的 URL 复制粘贴到浏览器中:

有和没有 https 以防万一

我总是从服务器收到 204 响应,这意味着 Ahoy 控制器没有处理 url,因为根据代码它应该用 gif 响应。

我在 Ubuntu 18.04 服务器中使用 Rails 5.2.1 和 Ruby 2.5.1。

可能是最新 Rails 版本中的错误吗?任何有关调试的指针将不胜感激。

编辑:查看服务器日志,确认路由没有被击中:

编辑:这条路线在开发中运行良好,但在生产中引发 ActionController::RoutingError 。因此是 204,因为我使用 204 从这个错误中解救出来

0 投票
0 回答
263 浏览

ruby-on-rails - 如何在rails中使用ahoy跟踪模型

我融合ahoy得很好。但我的目的是跟踪任何模型展示页面访问了多少次。

假设我有 2 个模型CarModelCarMake 我想跟踪访问CarModel.first.visits,例如CarMake.first.visits

但是找到的唯一解决方案是点击ahot.track("model"+car_model.id)并将其保存在事件中,然后我需要通过字符串查询,这不是通用的方式。

我想通过这样Model.visitsahoy支持来访问任何模型?

0 投票
1 回答
68 浏览

ahoy - 从 ahoy 跟踪中排除某些用户(例如 `is_admin?`)

我正在尝试使用 ahoy 的exclude 方法创建一个规则,以按照此处的建议将管理员用户排除在跟踪之外。

User但是当我只有controllerand时,我无法弄清楚如何获取对象request。有任何想法吗?

0 投票
1 回答
90 浏览

ruby-on-rails - 在非用户模型和 AhoyMessage 之间创建关系

我正在使用Ahoy 电子邮件来跟踪我发送到餐厅的电子邮件。但是我想建立这样的关系:

  • 一个AhoyMessage belongs_to_Restaurant

  • 一个Restaurant has_many AhoyMessages

这样我就可以访问,例如:

我知道当我查看文档时,有一种使用模型的简单方法User,但我只能使用我的Restaurant模型,因此文档中的示例不适用于我的特定情况。

0 投票
1 回答
183 浏览

ruby-on-rails - Geocoder::Result::Geoip2#country 返回 nil 即使 location.data['country']['names']['en'] 不是

我无法让 Ahoy 与 Geocoder 一起工作,问题与此 Ahoy有关:

这真的很奇怪,因为从我的控制台,我得到了这个:

所以位置不是零!但是之后:

即使

请注意,这location是一个:

我骑:

使用地理编码器 1.5.0

这些是我的初始化程序:

我错过了什么?谢谢!

0 投票
1 回答
512 浏览

ruby-on-rails - 未初始化的常量 Ahoy::QueryMethods - Ahoy Gem

我正在使用 Ahoy Gem ( https://github.com/ankane/ahoy ) 来跟踪访问和事件。当我尝试使用他们的 where_event 方法来查询文档中描述的事件模型时,我收到此错误:

事件.rb

由于 Ahoy::QueryMethods 是由 gem 提供的,所以我不确定如何解决这个错误。

如果我注释掉 event.rb 上的 include 行,那么我可以在表中正确记录事件,但是我失去了使用 where_event 方法的能力。

任何帮助使它工作将不胜感激。