【问题标题】:Ruby on Rails: Counting how many times an images appears on screenRuby on Rails:计算图像在屏幕上出现的次数
【发布时间】:2014-03-21 05:44:15
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: javascript ruby-on-rails ruby twitter-bootstrap impressions


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-11
      • 1970-01-01
      • 2012-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多