从属于用户的多个投资组合项目的推荐中获取评分的平均值



我的第一句话是,您可能想就我应该如何做到这一点提出一种不同的方法。欢迎您的建议,并感谢您的帮助,但我现在需要很多时间来更改内容,因为它依赖于其他实现。所以现在,我会努力修复我已经得到的东西。

因此,用户拥有公文包项目(has_many:公文包)。公文包项目有许多推荐(has_many:推荐)和belongs_to:user。此外,推荐信属于:投资组合。推荐信在数据库表中有一列名为"评级"。

我需要做的是,在用户的视图中显示操作,从推荐(放在用户的投资组合项目上)中获得所有评级的平均值,并将其显示在那里(/users/id)作为用户的单个平均值(通过推荐对投资组合项目的所有评级)。例如,评级可以是:用户评级:4.7/5。

到目前为止我所做的:我在控制器show action(@portfolios=@user.portfolios)中抓取了用户的投资组合,然后我尝试了几种方法将推荐作为对象抓取,这样我就可以提取他们的评分,将所有内容相加,得到平均值。

这可能吗?(如果你需要任何其他信息,请让我知道,我会添加它)

任何建议或指导都会非常有帮助。

用于获取用户的所有证明,假设@user持有一个用户对象

Testimonial.where(portfolio_id: @user.portfolios.pluck(:id) )

或者在用户和证明之间建立关系,例如

User has_many :testimonials, through: :portfolios

然后CCD_ 1

(编辑:通过时出现语法错误)

最新更新