No commit activity in last 3 years
No release in over 3 years
Provides the best solution to add rating functionality to your models using mongoid.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

 Project Readme

mongoid-letsrate Rating Gem

Provides the best way to add rating capabilites to your Rails application with jQuery Raty plugin.

Repository

Build Status Dependency Status Code Climate

Find it at github.com/malagant/mongoid-letsrate

Instructions

Install

Add the mongoid-letsrate gem into your Gemfile

gem 'mongoid-letsrate'

Generate

rails g mongoid_letsrate User

The generator takes one argument which is the name of your existing devise user model UserModelName. This is necessary to bind the user and rating data. Also the generator copies necessary files (jquery.raty plugin files, star icons and javascripts)

Example:

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.

Prepare

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

Using

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 %>

Feedback

If you find bugs please open a ticket at https://github.com/malagant/mongoid-letsrate/issues