0
我有一個導航應用程序,使用letrate gem爲特定維度上的餐廳評分。我想計算每家餐廳的所有評級的平均值,並將其顯示給索引頁上的數組中的用戶。針對平均用戶評分的SQL查詢導航3
我的SQL查詢應該是這樣的 -
select avg(stars) from RESTAURANTS r, RATES rs
where rs.rateable_id = r.id
group by r.name;
在我的索引數組看起來像 -
<% @restaurants.each do |restaurant| %>
<li>
<a href="<%=restaurant_path(restaurant) %>" >
<div class="left">
<h2 class="name"><%= restaurant.name %></h2>
<h3 class="location"><%= restaurant.location %></h3>
</div>
<div class="right">
<h4 class="rate">AVERAGE RATING</h4>
</div>
<div class="clear"></div>
</a>
</li>
<% end %>
想知道如何將轉換SQL查詢到軌以顯示平均值陣列。
謝謝!所以這裏我仍然感到困惑,我現在怎麼在索引視圖中調用這個來顯示每個餐廳的平均值?我有點生疏的地方是我定義了一個模型方法,並在那裏添加它,然後在數組中調用該方法? –
這有效,但它打破了<%= restaurant_path(餐廳)%>,有沒有更好的方式來處理這個比在控制器中定義它?假設我想在展示視圖中重新使用平均評分,在這種情況下,這會更適合作爲輔助方法嗎? –
rails路徑助手需要id值來確定路徑。我更新了代碼以反映所需的更改。爲了重用這個查詢,我會在餐廳模型中作爲範圍寫入。 – eabraham