gpt4 book ai didi

ruby-on-rails - 获取每个对象的平均评分

转载 作者:行者123 更新时间:2023-12-04 03:46:54 24 4
gpt4 key购买 nike

对于大多数人来说可能是一个简单的问题,但仍需掌握数据库查询。我有可以评分的食谱,我现在想收集这些评分并获得平均评分。一个菜谱有很多评分(我认为这是正确的关系)

我已经创建了一个这样的范围

class Recipe < ActiveRecord::Base
belongs_to :user
has_many :ratings
attr_accessible :country, :description, :name
scope :average_rating,includes(:ratings).group('recipe_id').where('AVG(ratings.rating)');
end

评分模型

class Rating < ActiveRecord::Base
has_many :users
attr_accessible :ratings, :recipe_id, :user_id
end

我的评分还应该包括 has_many :recipes 吗?

在我的 Controller 中,我创建了一个实例变量来显示结果

@avgrating = Recipe.average_rating

但坚持如何让它在我的 View 中显示在这个 block 中,例如在我的索引中, Controller 只是

 @recipes = Recipe.all

还有风景

<% @recipes.each do |recipe| %>
<tr>
<td><%= recipe.name %></td>
<td><%= recipe.description %></td>
<td><%= recipe.country %></td>
<td>Avg Rating =<%= not sure here %></td>
</td>
</tr>
<% end %>

当我看到答案时我肯定觉得很傻,但现在想不出该怎么做

谢谢

最佳答案

试试 <td>Avg Rating =<%= recipe.ratings.average(:ratings) %></td>

关于ruby-on-rails - 获取每个对象的平均评分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15004499/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com