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 或不同的计数。
我最近开始编写代码 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 或不同的计数。