我有一个基本上有图像、标题和网址的广告模型。我使用 CarrierWave 作为图像。一切正常,但我想计算印象数和点击数。
到目前为止,我添加了两个整数列:展示次数、点击次数
我有一个页面控制器并设置了一个@advert变量,该变量会根据页面而变化。阅读此问题后,我可以增加印象:
def index
@advert = Advert.sample
@advert.increment! :impressions
end
我无法增加点击次数| 下面是我需要修改的代码,以便当用户点击 image_tag 时,他们会像往常一样被带到 URL,但 @advert 会增加clicks列。这是我当前的代码(我使用 HAML,这是代码在文件中:_advert.html.haml):
= link_to image_tag("#{advert.foto_url.to_s}",:alt => "an image ad linking to #{advert.url}", :title => advert.title), advert.url, :target => "blank"
什么是成功增量的最简单、最干净的方法!当有人点击上面的链接时,广告上的点击属性?
更新:
我正在使用下面 Aaron 的建议,但它导致了两个新问题:
当用户将鼠标悬停在图像上时,他们将看到与最终到达的链接不同的链接。我希望他们看到他们点击后最终到达的最终 URL,而不是简单地重定向来计算他们的点击次数。
如果有人直接拉出广告网址(例如:/adverts/1),计数器会增加!无需点击。
我实际上没有 Advert 的显示视图,但添加它以完成此操作。所以说清楚这是可行的,但感觉它违反了最佳实践。不过谢谢亚伦。