按资源属性跟踪 rails 资源的点击



我有一个rails 3应用程序,其中包含供应商在网站上发布的广告/特价。所有这些内容都在我的网站内,流量不会重定向到任何外部网站。我正在尝试建立一个按点击付费的系统,供应商可以按点击付费,以获得属于他们的交易/特价。理想情况下,对于计费,我可以生成有关给定时间段内供应商交易总点击次数的报告。

目前,我正在使用thumbs_up gem来跟踪用户对供应商的收藏夹/点赞。对于按点击付费类型的安排,类似的系统是否可行,以跟踪给定交易的点击次数(thumbs_up有一种方法只允许每个实例的每个用户进行一次投票)?有谁知道有什么好的宝石已经包含了这样的东西?只是为了让我清楚,我不是要求某人编写代码,只是希望从以前做过此操作的人那里获得一些输入,知道完成此操作的好方法,或者对我有任何其他指导。提前感谢!

我的相关供应商模型:

class Vendor < ActiveRecord::Base
    has_many    :deals
    acts_as_voteable
end

我的相关交易模型:

class Deal < ActiveRecord::Base
    belongs_to  :vendor
end
自己

推出应该不会太难,然后为您自己的应用程序进行自定义会更容易。

class Click < Activerecord::Base
  belongs_to :deal
  belongs_to :vendor, :through => :deal
end

您可以考虑从一开始就采用多态性,以防万一您想跟踪交易以外的任何点击:

class Click < Activerecord::Base
  belongs_to :clickable, :polymorphic => true
  belongs_to :vendor, :through => :deal
end

然后只需制作一个非常简单的控制器

class ClicksController < ApplicationController
  def create
    @deal = Deal.find(params[:deal_id])
    @deal.clicks.create
    redirect_to @deal.url
  end
end

这应该是任何未来功能的良好基础。

最新更新