2013-06-03 25 views
2

我目前在我的應用中使用了許可寶石(https://github.com/muratguzel),並且收視率顯示正確。顯示個人用戶評級(許可寶石)

但是,我想顯示個人用戶提交的評分,而不是僅顯示平均值。

詳情:「rating_for」助手只顯示來自用戶集合的平均評分,但我希望能夠顯示用戶提交的個人評分(而非平均值)。例如,用戶A可以針對維度提交2星評級,並且用戶B可以針對相同維度提交4星評級。 「rating_for」助手將顯示3星的平均評分,但我無法獲得用戶A和用戶B的個人評分顯示。

回答

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 

感謝