Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Acts_as_rateable is a rails plugin providing a rating interface for ActiveRecord models.
Branch: master
Pull request Compare This branch is 29 commits ahead of gabrielg:master.
Failed to load latest commit information.
generators - added ratings_count
lib rated_by and rating_by should not break when there's no rating
.gitignore added gem spec file
CHANGELOG.rdoc - added gem install instructions
MIT-LICENSE * Added all plugin files.
README.rdoc - added gem install instructions
Rakefile - added gem install instructions
acts_as_rateable.gemspec fixed gemspec
init.rb switch to gem compatible init structure


Acts As Rateble

Acts_as_rateable is a rails plugin providing a rating interface for ActiveRecord models. It is released under the MIT license. The original plugin is used on for article rating, sponsored quizzes, etc.


  • Rating scores are recorded by user

  • Users can update previous ratings

  • Uses a polymorphic association to your model, so no changes to your existing models in the database are required

  • Stores computed score and number of ratings for efficient data access

  • Possibility to change range of the ratings (1..5 is default)


Install as gem (recommended)

Install as a gem:

$ sudo gem install mreinsch-acts_as_rateable

Then add the gem dependency in your config:

# config/environment.rb
config.gem "mreinsch-acts_as_rateable", :source => "", :lib => "acts_as_rateable"

Install as plugin

To install as a plugin, use:

$ ./script/plugin install git://

Example Usage

Install the plugin into your vendor/plugins directory, insert 'acts_as_rateable' into your model, then restart your application.

class Post < ActiveRecord::Base

Now your model is extended by the plugin, you can rate it (1-#) or calculate the average rating.

@post.rate_it(4, current_user)

@post.average_rating          #=> 4.0
@post.average_rating_round    #=> 4
@post.average_rating_percent  #=> 80
@post.rated_by?(current_user) #=> true
@post.rating_by(current_user) #=> 4
@post.ratings_couunt          #=> 1

Post.find_top_rated           #=> top rated records

Optional you can specify the highest score using the :max_rating paramter as follows. The default for :max_rating is 5.

class Comment < ActiveRecord::Base
  acts_as_rateable :max_rating => 10

See acts_as_rateable.rb for further details!


Updating from Ferenc Fekete's acts_as_rateable v1.0

  1. Remove the old plugin, and install this version.

  2. Check your code and make sure you pass the user object instead of the user ID for the rate_it, rated_by? and rating_by methods.

  3. Generate an update migration using: ./script/generate acts_as_rateable_update1

  4. Run your test cases


Copyright © 2007 Ferenc Fekete, , released under the MIT license

Copyright © 2009 mobalean LLC,

Something went wrong with that request. Please try again.