Отслеживание кликов по ресурсам рельсов по атрибутам ресурсов
У меня есть приложение rails 3, в котором есть реклама / специальные предложения, которые размещаются на сайте продавцами. Весь этот контент находится на моем сайте, трафик не перенаправляется на какой-либо внешний сайт. Я пытаюсь создать систему оплаты за клик, при которой продавцы платят за клик по сделкам / специальным предложениям, которые им принадлежат. В идеале для выставления счетов я мог бы создавать отчеты по общему количеству кликов по сделкам с поставщиками за определенный период.
В настоящее время я использую драгоценный камень thumbs_up для отслеживания избранных / голосов поставщиков по пользователям. Будет ли подобная система жизнеспособной для организации типа с оплатой за клик, чтобы отслеживать количество кликов по данной сделке (у thumbs_up есть метод, позволяющий только один голос на пользователя за экземпляр)? Кто-нибудь знает какие-нибудь хорошие драгоценные камни, которые уже включают в себя что-то вроде этого? Просто для ясности, я не прошу, чтобы кто-то написал код, а просто хочу получить какую-то информацию от любого, кто либо сделал это раньше, знает хороший способ сделать это или имеет какие-либо другие рекомендации для меня, Заранее спасибо!
Моя соответствующая модель продавца:
class Vendor < ActiveRecord::Base
has_many :deals
acts_as_voteable
end
Моя соответствующая модель сделки:
class Deal < ActiveRecord::Base
belongs_to :vendor
end
1 ответ
Не должно быть слишком сложно свернуть свое собственное, и тогда будет проще настроить его под собственное приложение.
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
Это должно стать хорошей основой для любой будущей функциональности.