Rails ajax评级有助于如何创建一个帮助方法来显示星星

时间:2011-04-01 17:50:06

标签: ruby-on-rails ruby ruby-on-rails-3

我正在创建一些简单的Ajax评级。基于此问题的第一个答案Rails 3 rateable model - How to create ajax rating?

评级的部分名为_rating.html.erb,类似于:

<%= form_tag url_for(controller: 'items', action: 'rate', id: item.id), remote: true %>
    <%= rating_stars(item.rating_score, item.ratings) %>
    <%= item.ratings %> Votes </form>

在此部分中,rating_stars() 帮助方法生成了某种 明星般的代表 等级,但你可以这样做 你喜欢。

如何创建rating_stars辅助方法来显示星星?

1 个答案:

答案 0 :(得分:0)

我建议你看一下使用 jQuery RateIt plugin

它完全是客户端JavaScript和CSS。它还运行一些甜美的不引人注目的JavaScript和渐进增强。我对我的项目感到满意。

将jquery.rateit.min.js,rateit.css,delete.gif和star.gif包含到公共目录中后,您可能会在rails表单中包含以下内容:

<%= f.text_field :ratings, :size => 1, :min => 0, :max => 5, :step => 1 %>
<div class="rateit" data-rateit-backingfld="#item_ratings" data-rateit-resetable="true">
</div>

data-rateit-backingfld中的ID应与商品字段的text_field表单助手生成的ID相匹配。

显然,这是使用HTML5数据属性,但如果您使用的是Rails 3,那么默认情况下您将使用HTML5。

相关问题