その他
    ホーム 技術発信 DoRuby acts_as_rateableを使ってみた

    acts_as_rateableを使ってみた

    この記事はアピリッツの技術ブログ「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
    

    という感じに簡単にレーティング機能が実現できます。

    以上です。