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