mongoid-letsrate Rating Gem
Provides the best way to add rating capabilites to your Rails application with jQuery Raty plugin.
Find it at github.com/malagant/mongoid-letsrate
Add the mongoid-letsrate gem into your Gemfile
rails g mongoid_letsrate User
Suppose you will have a devise user model which name is User. The devise generator and mongoid-letsrate generator should be like below
rails g devise:install rails g devise user rails g mongoid_letsrate user # => user is the model generated by devise
This generator will create Rate and RatingCache models and link them to your user model.
Suppose you have a car model
rails g model car name:string
You should add the letsrate_rateable function.
class Car include Mongoid::Document include Mongoid::Timestamps include Mongoid::Letsrate letsrate_rateable end
Then you need to add a call letsrate_rater in the user model.
class User include Mongoid::Document include Mongoid::Timestamps include Mongoid::Letsrate letsrate_rater end
There is a helper method which name is rating_for to add the star links. By default rating_for will display the average rating and accept the new rating value from authenticated users.
<%# show.html.erb -> /cars/1 %> Rating : <%= rating_for @car %>
If you need to change the star number, you should use star option like below.
Rating : <%= rating_for @car, :star => 10 %>
You can use the rating_for_user helper method to show the star rating for the user.
Rating : <%= rating_for_user @car, current_user, :star => 10 %>
If you find bugs please open a ticket at https://github.com/malagant/mongoid-letsrate/issues