OKADA LABO

averageメソッドとroundメソッド

例えば、生徒の得点を記録するscoreカラムを持ったstudentsテーブルと関連するStudentクラスがあったとします。scoreカラムの平均を求めるには、以下のようにします。

users = Student.all
users.average(:score)
#=> 小数点まで含んだ平均点

roundメソッド

小数点ありの数字クラスのインスタンスが利用できます。利用した数字の小数点以下を四捨五入します。
10.4.round
#=> 10

10.5.round
#=> 11

個数の獲得count

<% @products.each do |product| %>
#(中略)
<%= product.reviews.count %>
#(中略)
<% end %>

平均点を作る

<% if product.reviews.present? %>配列の中身があれば
<span class="rating-star">
<i class="star-actived rate-<%= product.reviews.average(:rate).round %>0"></i>
rateカラムの値の平均を四捨五入
</span>
<% else %>配列の中身がなければ
<span class="rating-star">
<i class="star-actived rate-0"></i>
</span>
<% end %>