この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
こんにちわ
abennuです
今回はRailsでレーティング機能を実現できるプラグイン acts_as_rateableを使ってみたのでインストール~使用方法なんかを書きたいと思います
インストール
インストールは
script/plugin install svn://rubyforge.org/var/svn/rateableplugin/trunk
これでOKです。次にmigrationファイルを作ります。
script/generate migration add_ratings
これでできたmigrationファイルに以下のように記述します。
create_table :ratings do |t|
t.column :rating, :integer
t.column :rateable_id :integer, :null => false
t.column :rateable_type, :string, :null => false
end
def self.down
drop_table :ratings
end
こんな感じであとはレーティング機能を使用したいモデル(ここではUserモデル)に
class User < ActiveRecord::Base
acts_as_rateable
end
こんな感じにacts_as_rateableを追加すれば準備完了です。
実際に使うときはこんな感じに使います。
ユーザの新規作成時にレートをつける
User.new(:name => "hoge", :rating => 1).save
既存のユーザにレートをつける
User.find_by_name("hoge").rate(2)
ユーザのレートを取得する
User.find_by_name("hoge").rating
という感じに簡単にレーティング機能が実現できます。
以上です。