2

我目前在我的应用程序中使用letsrate gem(https://github.com/muratguzel)并且评级显示正确。

但是,我想显示单个用户提交的评分,而不是仅显示平均值。

详细信息:“rating_for”助手仅显示用户集合的平均评分,但我希望能够显示用户提交的个人评分(而不是平均值)。例如,用户 A 可以为某个维度提交 2 星评级,而用户 B 可以为同一维度提交 4 星评级。“rating_for”助手将显示 3 星的平均评分,但我无法显示用户 A 和用户 B 的个人评分。

4

1 回答 1

1

希望对您有所帮助:

请在帮助程序中添加此方法:-

def rating_for_user(rateable_obj, rating_user, dimension = nil, options = {})
  @object = rateable_obj
  @user = rating_user
  @rating = Rate.find_by_rater_id_and_rateable_id_and_dimension(@user.id, @object.id, dimension)
  star = options[:star] || 5
  stars = @rating ? @rating.stars : 0

  disable_after_rate = options[:disable_after_rate] || false

  readonly=false
  if disable_after_rate
    readonly = current_user.present? ? !rateable_obj.can_rate?(current_user.id, dimension) : true
  end

  content_tag :div, '', "data-dimension" => dimension, :class => "star", "data-rating" => stars,
  "data-id" => rateable_obj.id, "data-classname" => rateable_obj.class.name,
  "data-disable-after-rate" => disable_after_rate,
  "data-readonly" => readonly,
  "data-star-count" => star
end

谢谢

于 2013-06-12T09:58:52.607 回答