使用letrate显示对象的评级

时间:2013-08-20 04:08:46

标签: ruby-on-rails

我正在创建一个音乐专辑评论网站,用户发布专辑评论(图钉),并将在显示页面上选择1-5颗星。我正在使用letrate gem,在提交新的pin和编辑时,它可以很好地输入表单上的星星。现在我需要在显示页面上显示该输入。

当我在展示页面上显示<%= @pin.rates %>时,会显示以下内容: [#<Rate id: 8, rater_id: 1, rateable_id: 36, rateable_type: "Pin", stars: 4.0, dimension: nil, created_at: "2013-08-19 22:28:36", updated_at: "2013-08-19 22:28:36">]

我需要获得那些星星:4.0来显示四颗星。 (并且不允许在节目视图中对其进行编辑)

这是我的费率模型:

class Rate < ActiveRecord::Base
  belongs_to :rater, :class_name => "User"
  belongs_to :rateable, :polymorphic => true
  belongs_to :pin

  attr_accessible :rate, :dimension

end

我看到了这个问题,但它没有解释如何使用帮助器: Displaying Individual User Ratings (letsrate gem)

如果我使用<%= rating_for @pin =>,那么明星会出现,但任何人都可以重新评估它们,这不会很好。我需要禁用它们。

任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以尝试:

<%= @pin.rates[:stars].to_i %>