我目前有一个工作正常的评级系统
module CustomersHelper
def show_stars(review)
@star = raw('<li><span class="glyphicon glyphicon-star"></span></li>') * (review.rating)
@star.html_safe
end
end
%table.table.
%thead
%tr
%th{ :style => "width:9%" } Ratings
%tbody
- @reviews.each do |review|
%tr
%td
%ul.list-inline.rating=show_stars(review)
所有这一切都是取整数值1-5并相应地渲染出许多星。
我将如何总是渲染5颗星并根据数据库值为现有星星添加一个类?
答案 0 :(得分:0)
这是我最近这样做的方式,不是那么干净(恕我直言),但它运作良好:
def total_stars
5
end
def show_stars(num_star)
buffer = ""
total_stars.times do |i|
buffer << "<i #{ 'class=\'starred\'' if i < current_stars }>*</i>"
end
buffer
end
show_stars(review.rating)