Star rating gem for Rails application using jQuery plugin jRating
Demo application, requires to sign up before rating.
Run :
$ rails g seems_rateable:uninstall_old
Then follow as instructed.
Add this line to your application's Gemfile:
gem 'seems_rateable'
And then execute:
$ bundle
Or install it yourself as:
$ gem install seems_rateable
Generate required files :
$ rails generate seems_rateable:install
And run :
$ rake db:migrate
To prepare model add seems_rateable
to your rateable model file. You can also pass a hash of dimensions
e.g :quality, :price
Post < ActiveRecord::Base
seems_rateable # :quality, :speed, :effectiveness
end
To track user's given rates add seems_rateable_rater
to your rater model.
User < ActiveRecord::Base
seems_rateable_rater
end
To display star rating use helper method rating_for
in your view
#show.html.erb
rating_for @post
rating_for @post, dimension: :quality, disabled: true, html_options
You can specify these options :
dimension
The dimension of the rating objectdisabled
Set to true to display static star rating meaning no user would be allowed to ratehtml_options
HTML options of the selector
To edit the javascript options locate rateable.js file in app/assets/javascripts/rateable/
.
The javascript options are explained directly in the file.
In config/initializers/seems_rateable.rb you can configure these options :
- rate_owner_class - Usually
User
, name of the model you putseems_rateable_rater
- current_rater_method - The method representing a rater instance,
current_user
by default - default_selector_class - Default HTML class of the rating div
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request