Rails找到平均值和没有评级

时间:2014-01-05 00:34:40

标签: ruby-on-rails ruby-on-rails-4

我是铁杆的新手,我能够理解如何找到平均和无收视率。

我的桌子看起来像这样 书桌

 id Name      author
   1  rails    raj
   2  ruby     ravi

通过评级表看起来像

  id user_id   book_id     r1     r2    r3    r4
      1   1         1      4       5     6    7
      2   1          2     8       9     5    6
      3   2          1     4       5     6    7

现在我想在index.html.page

中显示
    Name   author     avg                          no.of ratings
    rails   raj      (4+4)+(5+5)+(6+6)+(7+7)/4          2
    ruby     ravi     8+9+5+6/4                         1

那么我怎么能这样做呢?我能够理解Rails查询语言,我希望所有这些评级都能在我的书籍控制器中完成。

任何人都可以指导我这样做。谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用rails Calculations辅助函数:

http://api.rubyonrails.org/classes/ActiveRecord/Calculations.html

在此处使用,请查看Rails提供的average()函数:

如果您的模型关联正确,您将能够执行以下操作:

@user = User.find(1)
@user.ratings.average('r1')