Tags
Archive
Sites I Like
May 22nd, 12:06pm
0 comments
Tracking Views in Rails
ActsAsViewable is plugin that allows you to track page and asset views in your Rails application. For example, you can use it to track how many times a page is visited or how many times a particular image is viewed.
Trac: http://trac.intridea.com/trac/public/wiki/ActsAsViewable
Subversion repository: http://svn.intridea.com/svn/public/acts_as_viewable
Installation:
script/plugin install http://svn.intridea.com/svn/public/acts_as_viewable
OR
cd vendor/pluginssvn co http://svn.intridea.com/svn/public/acts_as_viewable
Create the tables where views will be tracked:
class CreateViewings < ActiveRecord::Migration def self.up create_table :viewings do |t| t.column :viewable_type, :string t.column :viewable_id, :integer t.column :views, :integer, :default => 0 t.column :created_at, :datetime, :null => false t.column :updated_at, :datetime end end def self.down drop_table :viewings endend
class SomeAsset < ActiveRecord::Base acts_as_viewableend
Now you can increment views for these objects wherever you need to. For example in the show action of our SomeAssetController:
class SomeAssetController < ApplicationController def show @some_asset = SomeAsset.find(params[:id]) @some_asset.increment_views endend
To get the number of views:
@some_asset.views
