Railsプラグインacts_as_views_count-Modelアクセス遅延統計


プロジェクトでは、文章、投稿、画像など、単一の文章へのアクセス回数を統計する必要がある場合が多いです.そこでテーブルにviewsをデザインしましたcountフィールドはカウンタとして、ページを表示するときにこのフィールドを更新します.しかし、効率を高めるためには、一般的にviews_が必要です.countの書き込みデータベースは遅延してキャッシュに保存し、一定数になってデータベースを更新しています.
使いやすくするために、私は前の方法を1つのプラグインに書き換えて、初めてRailsプラグインをして、比較的に簡単です
  • プロジェクトアドレス:http://github.com/huacnlee/acts_as_views_count
  •  
    使用例
    Models
    View:
    Source or
    Raw
    1
    2
    3
    4
    5
    6
    7
    8
    class Post < ActiveRecord::Base
      acts_as_views_count
    end
    
    class Topic < ActiveRecord::Base
      # set delay save to db with 30
      acts_as_views_count :delay => 30
    end
    

    Controllers
    View:
    Source or
    Raw
    1
    2
    3
    4
    5
    6
    7
    class PostsController < ApplicationController
      def show
        @post = Post.find(params[:id])
        # update views_count
        @post.update_views_count
      end
    end
    

    Views
    View:
    Source or
    Raw
    1
    2
    3
    4
    5
    6
    7
    <div id="post_show">
      <h1><%= @post.title %></h1>
      <div class="info">
        <span><%= @post.views_count_s %> views</span>
        <span><%= @post.comments_count %> comments</span>
      </div>
    </div>