Acts_as_rateable is a plugin released under the MIT license. It makes activerecord models rateable through a polymorphic association and optionally logs which user rated which model. In this case, one user can rate an object once. Used on cotcot.hu for article rating, sponsored quizzes, etc.
A ‘free text’ attribute has been added to the pure numerical rating. The ‘free text’ serves as the user’s rating description or comment.
You can easily install gem by adding this line into your Gemfile:
gem "acts_as_rateable", :git => "git://github.com/anton-zaytsev/acts_as_rateable.git"
After you install Acts As Rateable and add it to your Gemfile, you need to run the generator:
rails generate acts_as_rateable
The generator will add new migration, that’s why the next is run migration:
rake db:migrate
Now insert ‘acts_as_rateable’ into your model, and don’t forget restart your application.
class Post < ActiveRecord::Base acts_as_rateable end
Now you can rate it ( 1-# )or calculate the average rating.
# rate for selected post @post.rate_it( 4, current_user ) #=> true || false # average rating of selected post @post.average_rating #=> 4.0 @post.average_rating_round #=> 4 @post.average_rating_percent #=> 80 # check if selected post rated by user @post.rated_by?( current_user ) #=> instance of rating model || false @post.parse_ratings(:json) #=> JSON formatted string containing the post's ratings # find posts with rating '4' Post.find_average_of( 4 ) #=> array
See lib/acts_as_rateable.rb for further details!
# Notes
Jinzhu - generator is compatible with rails 3.
Copyright © 2011 Anton Zaytsev, antonzaytsev.com , released under the MIT license
Copyright © 2007-2010 Ferenc Fekete, feketeferenc.hu , released under the MIT license
Copyright © 2011 Joerg Polakowski, mobile-melting.de , released under the MIT license