2010-11-25 57 views
3

我正在開發一個網站,我需要跟蹤特定內容的視圖數量(可以說文章)。內容的頁面瀏覽次數

它對於一個問題非常類似於stackoverflow的觀點。

我不知道如何使用stackoverflow。基本上它應該是

  1. 當文章作者以外的用戶訪問文章時增加視圖。如果他一直點擊刷新按鈕,它不應該增加視圖。
  2. 如果訪問者持續點擊刷新按鈕,則不會增加視圖。但它應該爲首次訪問而增加。

我在數據庫中有一個字段來存放多個視圖。

有人知道如何使用stackoverflow嗎?有沒有我可以使用的導軌插件?我想我應該使用會話和IP地址來跟蹤...我應該使用日誌?或Google Analytics(分析)?

幫助...

+0

爲什麼不問問團隊SO過上meta.stackoverflow.com – Zabba 2010-11-25 21:58:15

回答

1

根據您需要的準確度,您可能需要有一個包含用戶已閱讀哪篇文章的記錄的表。他們的MAC地址不會與他們的HTTP請求一起發送,他們的IP(v4)地址可能不是唯一的足夠

如果你想顯示的數據(像計算器一樣),你真的不能使用分析。

這將是更容易代碼添加到您的控制器方法來增加數據庫字段比分析日誌文件,並掛接到數據庫的Rails之外。

僞上下的代碼(檢查語法API):

ArticlesController < ApplicationController 
    def show 
    @article = Article.find(params[:id]) 
    # Create an ArticleReading (your join table) for this user unless one already exists 
    current_user.article_readings.find_or_create_by_article_id(@article) 
    # Count the number of users that have read this article 
    @article_readings = ArticleReading.count(@article.id) 
    end 
end 

您可以使用插件這個 - 我用之前爲「已讀」標記的事情之一,這很可能是合適的(或者至少可適應)。有this question讀取,並創下了谷歌。

0

我也不知道怎麼溢出棧實現的,但我想你可以通過更新次數計數,當識別MAC地址或當前用戶ID決定吧。當第一次的用戶瀏覽網頁,計數將被更新,您可以跟蹤MAC地址的手段。再次,如果出現相同的請求,則應拒絕來自具有相同MAC地址的系統。

+1

你不能用HTTP協議讀取用戶的MAC地址。這將需要一個外部插件。他應該只使用IP地址。 – 2010-11-25 20:32:35

相關問題