视图计算计算

时间:2010-05-25 09:32:43

标签: ruby-on-rails ruby algorithm

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

4 个答案:

答案 0 :(得分:1)

如果您不想在每次点击时增加计数器,但仅在第一次用户访问时增加,则必须将其存储在某处。我将它存储在数据库表中,并将session_id和页面存储在此表中。然后,只有当前会话尚未访问当前页面然后将其存储到数据库时,才会增加计数器。

答案 1 :(得分:0)

使用&搜索GOOGLE ANALYTICS。

答案 2 :(得分:0)

这个问题已经过时了,但是is_visitable呢?

答案 3 :(得分: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