RoRの2週目(プログラミングのバックグラウンドなし)。そして、私は少し問題があります、私はMetacriticタイプのウェブサイトをやっています。そして、どこでも評価があります。0から33=赤34から66=オレンジ67から100=緑に決めました。
インデックス(コントローラー:表示)
<td><% if show.reviews.count == 0 %>0
<% elsif show.reviews.average("rating").between?(33, 66) %>
<table class="orange">
<tr>
<td><b><%= number_with_precision(show.reviews.average("rating"), :precision => 0) %></b></td>
</tr>
</table>
<% elsif show.reviews.average("rating").between?(66, 100) %>
<table class="green">
<tr>
<td><%= number_with_precision(show.reviews.average("rating"), :precision => 0) %></td>
</tr>
</table>
<% elsif show.reviews.average("rating").between?(00, 33) %>
<table class="red">
<tr>
<td><%= number_with_precision(show.reviews.average("rating"), :precision => 0) %></td>
</tr>
</table>
<% end %>
</td>
私の問題は、そのコードを何度も繰り返す必要があるということです。(私はまだ始めたばかりです:show(controller show)
<p>
Note: <% if @ratings == 0 %>0
<% elsif @ratings.between?(33, 66) %>
<table class="orange">
<tr>
<td><b><%= number_with_precision(@ratings, :precision => 0) %></b></td>
</tr>
</table>
<% elsif @ratings.between?(66, 100) %>
<table class="green">
<tr>
<td><%= number_with_precision(@ratings, :precision => 0) %></td>
</tr>
</table>
<% elsif @ratings.between?(00, 33) %>
<table class="red">
<tr>
<td><%= number_with_precision(@ratings, :precision => 0) %></td>
</tr>
</table>
<% end %>
</p>
誰かがこれはモデルであるべきだと私に言いましたが、私はそれを書く方法を本当に知りません。何か助けはありますか?