0
说一个应用程序有许多产品和搜索功能。 1.我如何跟踪每个产品的页面浏览量(简单计数器)和 2.如何跟踪搜索查询?Rails - 跟踪未登录的用户活动
最重要的是,我需要能够按页面浏览次数查找/订购产品。
(更简单/最佳性能/最少外部依赖性)越好!
为什么这个问题?到目前为止,我所见过的解决方案都是过时的宝石,或者在搜索时效果不佳。
说一个应用程序有许多产品和搜索功能。 1.我如何跟踪每个产品的页面浏览量(简单计数器)和 2.如何跟踪搜索查询?Rails - 跟踪未登录的用户活动
最重要的是,我需要能够按页面浏览次数查找/订购产品。
(更简单/最佳性能/最少外部依赖性)越好!
为什么这个问题?到目前为止,我所见过的解决方案都是过时的宝石,或者在搜索时效果不佳。
这是一个简单的方法来做到这一点。在该模型中:
def increment(by = 1)
self.views ||= 0 #Prevents error if views can be nil
self.views += by
self.save
end
然后在控制器:
如果拍成一个异步工作,我仍然需要做@model.increment
更快。
为了防止用户滥发刷新或东西我做了一个比较复杂一点:
def show
product_itemcode = params[:itemcode]
@product = Product.find_by(itemcode: product_itemcode)
unless session[product_itemcode.to_s]
@product.increment
session[product_itemcode.to_s] = true
end
end
有什么想法?
编辑:
的增量方法已经存在: http://apidock.com/rails/ActiveRecord/Persistence/increment
您仍需要调用object.save虽然