2010-05-25 83 views
2

你能告诉我如何计算独特的页面视图吗?如果我在每个页面加载时增加计数器,这将是不好的,其他人在会话中存储查看页面的信息看起来不是理想的解决方案。views次数计算

回答

0

使用&搜索的谷歌分析。

+0

不可接受的 - 我想用简单的计数器,而不是INTEGRA通过分析来获取视图数量的页面 – 2010-05-25 10:41:17

1

如果你不想增加每单发命中计数器,但只在第一次有些用户visists,你必须在一些地方保存它。我会将其存储在数据库表中,并将session_id和页面存储在此表中。然后,只有在当前会话尚未访问当前页面并将其存储到数据库时,才会增加计数器。

0

我已经做了过滤器之前和page_views表,可以使用类似的事情。

这里有一个迁移来建立表:

class PageViews < ActiveRecord::Migration 
    def change 
    create_table :page_views do |t| 
     t.string :controller 
     t.string :action 
     t.timestamps 
    end 
    end 
end 

和模型类:/app/models/page_view.rb

class PageView < ActiveRecord::Base 
    attr_accessible :action, :controller 
end 

然后在application_controller添加before_filter插入一条记录的每个请求:

class ApplicationController < ActionController::Base 
    before_filter :track_page_request 
    def track_page_request 
    PageView.create({:controller => params[:controller], :action => params[:action]}) 
    end 
end