0

我有一个带有引导主题的 Ruby on Rails 项目。索引页面的顶部有一个轮播,可以在屏幕上旋转一组图像。我需要能够计算图像出现在屏幕上的次数。这将用于确定有多少人正在查看特定广告。有没有办法做到这一点?

我对 Rails 很陌生,所以我不确定它的功能是什么。我在想一种方法是让运行 Carousel 图像切换的 JavaScript 在服务器上触发一个事件,这样 Rails 就可以增加一个计数器。

我也一直在研究https://github.com/charlotte-ruby/impressionist但我不确定如何触发印象计数器。

有谁知道我如何计算图像出现在屏幕上的次数?谢谢

4

1 回答 1

0

恕我直言,对您来说最简单的方法是使用上面提到的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

在您的应用程序中为此控制器设置路由后,您可以在客户端/js 代码上使用路由辅助路径,如 carousel_path(1) 或类似的东西来提供来自 rails 的图像

是的,当您使用轮播加载页面时,无论图片是在幻灯片 3 还是幻灯片 1 上,甚至显示,上述解决方案都会记录下来。如果您想记录此特定事件,那么您需要在可能的情况下使用轮播(幻灯片 3 显示)挂钩一些回调,然后触发对 rails 的一些自定义 ajax 调用以进行记录。如果您不能挂钩回调,那么您可能需要编写一些 javascript 代码来检查页面上的元素何时更改(幻灯片 3 显示)..

于 2014-03-21T07:08:03.010 回答