has_ratings demonstrates a reference implementation for handling ratings.
Storing ratings is a pretty common task when building web applications with a community-based focus. Ratings can have names and values associated with them. This plugin demonstrate a simple way to manage what ratings can be used and how they are persisted.
Note that this is a reference implementation and, most likely, should be modified for your own usage.
has_ratings requires additional database tables to work. You can generate a migration for these tables like so:
Then simply migrate your database:
user = User.find(1) video = Video.find(1) video.ratings.create(:rater => user, :value => 'poor') video.ratings.average # => 1.0
Included with the plugin are image/stylesheet assets for creating raters using css as described at www.komodomedia.com/blog/2007/01/css-star-rating-redux
Before you can run any tests, the following gem must be installed:
To run against a specific version of Rails:
rake test RAILS_FRAMEWORK_ROOT=/path/to/rails
Rails 2.3 or later
enumerate_by 0.4.0 or later