我有一个带有bootstrap主题的Ruby on Rails项目。索引页面的顶部有一个旋转木马,可以在屏幕上旋转一组图像。我需要能够计算图像在屏幕上出现的次数。这将用于确定有多少人看到特定的广告。有没有办法做到这一点?
我对Rails很陌生,所以我不确定它的功能是什么。我认为一种方法是让运行Carousel图像切换的JavaScript在服务器上触发一个事件,这样Rails就可以增加一个计数器。
我也一直在研究https://github.com/charlotte-ruby/impressionist,但我不确定如何触发印象计数器。
有谁知道如何计算图像在屏幕上出现的次数?感谢
答案 0 :(得分:0)
Imho对你来说最简单的方法是使用上面提到的https://github.com/charlotte-ruby/impressionist gem。如果我是你,我会做一些单独的控制器与一些简单的动作,只为你想要记录的旋转木马提供图像。
CarouselController < ApplicationController
impressionist :actions=>[:show]
def show
# u can also play with params[:id] to serve many images depending on id
send_file Rails.root.join("public", "file.gif"), type: "image/gif", disposition: "inline"
end
end
在你的应用程序中设置此控制器的路由后,在client / js代码上你可以使用路由辅助路径如carousel_path(1)或类似的东西来提供来自rails的图像
是的,上面的解决方案将在您使用轮播加载页面时进行记录,无论图片是在幻灯片3还是幻灯片1上,甚至显示。如果你想记录这个特定的事件,那么如果可能的话你需要用carousel(幻灯片3显示)挂钩一些回调,然后触发一些自定义的ajax调用到rails来记录。如果你不能挂钩回调那么你可能需要写一些javascript代码来检查页面上元素的变化(幻灯片3显示)..