问题标签 [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.
ruby-on-rails - ActiveJob 没有排队工作
我已经实现了Ahoy来跟踪我的应用程序中的事件,并且我想将处理移动到后台作业中。
当我打电话时我的设置工作正常perform_now
(工作得到处理),但更改为perform_later
不起作用。从日志来看,这项工作似乎甚至没有入队。
config/initializers/ahoy.rb
app/jobs/ahoy_track_event_job.rb
我已经尝试过 Sidekiq 和 SuckerPunch:
ruby-on-rails - Ahoy_email gem - 绕过 ahoy_message 创建?
我在我的 rails 应用程序中使用Ahoy_Email gem。是否有设置绕过为某些电子邮件创建 ahoy_message - 例如:我不想为测试电子邮件创建新的 ahoy 消息实例 - 我想为这些电子邮件绕过此 gem 的所有功能。
我为我的测试电子邮件添加了以下设置:track message: false
、track click: false
、track open: false
,track utm_params: false
它们可以工作,但仍然会创建 ahoy 消息实例。我想这是一个非常简单的设置,但我只是在文档中看不到如何执行此操作。谢谢!
mongoid - Rails 5.2 & Ahoy 2 - “nil:NilClass 的未定义方法 `visitor_token'”
我正在运行 Rails 5.2 和很棒的Ahoy gem,其中 mongoid 作为 ORM。
在主页控制器中,我正在调用current_visit.visitor_token
,这会产生以下错误:
ahoy_visit
cookie 中存储的值是b5b4fd64-ec42-4e6d-9740-e394ed4a24da
,但 Ahoy 似乎正在搜索不同的值visit_token
(如上)。
初始化程序/ahoy.rb:
如果我从浏览器中清除网站数据(或在隐身窗口中打开新会话),直到我再等一天(我猜测会话到期)才会发生错误。
我已经搜索了所有代码,无法弄清楚为什么 Ahoy 没有在数据库中创建新的访问记录。
提前感谢您的帮助!
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}
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 从这个错误中解救出来
ruby-on-rails - 如何在rails中使用ahoy跟踪模型
我融合ahoy
得很好。但我的目的是跟踪任何模型展示页面访问了多少次。
假设我有 2 个模型CarModel
,CarMake
我想跟踪访问CarModel.first.visits
,例如CarMake.first.visits
但是找到的唯一解决方案是点击ahot.track("model"+car_model.id)
并将其保存在事件中,然后我需要通过字符串查询,这不是通用的方式。
我想通过这样Model.visits
的ahoy
支持来访问任何模型?
ahoy - 从 ahoy 跟踪中排除某些用户(例如 `is_admin?`)
我正在尝试使用 ahoy 的exclude 方法创建一个规则,以按照此处的建议将管理员用户排除在跟踪之外。
User
但是当我只有controller
and时,我无法弄清楚如何获取对象request
。有任何想法吗?
ruby-on-rails - 在非用户模型和 AhoyMessage 之间创建关系
我正在使用Ahoy 电子邮件来跟踪我发送到餐厅的电子邮件。但是我想建立这样的关系:
一个
AhoyMessage
belongs_to
_Restaurant
一个
Restaurant
has_many
AhoyMessages
这样我就可以访问,例如:
我知道当我查看文档时,有一种使用模型的简单方法User
,但我只能使用我的Restaurant
模型,因此文档中的示例不适用于我的特定情况。
ruby-on-rails - Geocoder::Result::Geoip2#country 返回 nil 即使 location.data['country']['names']['en'] 不是
我无法让 Ahoy 与 Geocoder 一起工作,问题与此 Ahoy行有关:
这真的很奇怪,因为从我的控制台,我得到了这个:
所以位置不是零!但是之后:
即使:
请注意,这location
是一个:
我骑:
使用地理编码器 1.5.0。
这些是我的初始化程序:
我错过了什么?谢谢!
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 方法的能力。
任何帮助使它工作将不胜感激。