rails 中的 Ahoy 活动查询

Ahoy events queries in rails

我最近开始编写代码 rails,我需要解决这个问题。

%td
  =  Ahoy::Event.where(name: "viewed_brochure").where_properties(brochure_id: brochure.id).select(:session_id).uniq

这应该会在属性字段中找到 session_id 的不同值的数量,但它不起作用。

这一行 returns 这些和类似的错误

#<Ahoy::Event::ActiveRecord_Relation:0x007f52d9325130>
#<Ahoy::Event::ActiveRecord_Relation:0x007f52d9466508>

%td
  =  Ahoy::Event.select { |event| event.properties['session_id'] }.uniq.count

我尝试了这一行,但这次 returns table

中的行数

非常感谢你@Anton 我修改了你的解决方案,最后它工作正常。

这是解决方案

%td
  =  Ahoy::Event.where_properties(brochure_id: brochure.id).group("properties -> 'session_id'").count.size

您可以尝试按 jsonb 键分组,在您的情况下是属性 ['session_id']

Ahoy::Event.group("properties -> 'session_id'").count

这将 return 您可以应用 .size 或不同的计数。