计算链接的点击次数

时间:2014-08-19 05:48:37

标签: ruby-on-rails

我有@promoted_products在整个网站上发布(如广告),并链接到@products。

目标是计算来自promote_product(ad)的特定产品的点击次数。

<% @promoted_products.each do |promoted_product| %>
 <%= link_to promoted_product.product.name, product_path(promoted_product.product) %>
 ...
<% end %>

3 个答案:

答案 0 :(得分:1)

考虑链接重定向用户以显示产品的行为。然后,您可以在数据库和每个显示请求更新计数中添加字段计数。通过这种方式,您可以轻松找到点击次数。您也可以使用remote true来检查请求是js还是html。在js请求更新计数记录和html中不更新计数。因此,您将获得准确的点击次数。

答案 1 :(得分:1)

不需要使用Google Analytics。

我们是开发人员 - 我们可以制作自己的东西!

-

<强>系统

我这样做的方法是使用带有数据库或Redis实例的控制器来提供&#34;运行总数&#34;点击链接:

#app/controllers/products_controller.rb
Class ProductsController < ApplicationController
   before_action :increase_click

   private

   def increase_click
      @product = Product.find params[:id]
      @product.increase_click
   end
end

#app/models/product.rb
Class Product < ActiveRecord::Base
   has_many :clicks

   def increase_click
      self.clicks.create!
   end
end

#app/models/click.rb
Class Click < ActiveRecord::Base
   #fields id | product_id | created_at | updated_at -> add more attributes for specific info
   belongs_to :product
end

这样,您就可以在每次调用ProductsController时为产品添加新的点击次数。

然后,您可以按如下方式调用clicks产品:

@product = Product.find params[:id]
@product.clicks.size #-> number of clicks

答案 2 :(得分:0)

您可以轻松地将https://github.com/railslove/rack-tracker添加到您的代码中并使用Google Analytics。例如:

def show
  tracker do |t|
    t.google_analytics :send, { type: 'event', category: 'button', action: 'click', label: 'nav-buttons', value: 'X' }
  end
end