2015-06-20 85 views
0

說一個應用程序有許多產品和搜索功能。 1.我如何跟蹤每個產品的頁面瀏覽量(簡單計數器)和 2.如何跟蹤搜索查詢?Rails - 跟蹤未登錄的用戶活動

最重要的是,我需要能夠按頁面瀏覽次數查找/訂購產品。

(更簡單/最佳性能/最少外部依賴性)越好!

爲什麼這個問題?到目前爲止,我所見過的解決方案都是過時的寶石,或者在搜索時效果不佳。

回答

0

這是一個簡單的方法來做到這一點。在該模型中:

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雖然