2016-12-01 32 views
0

我是Ruby on Rails的新手。我有一个简介模型,其中有多个课程。计算Ruby on Rails中列值的平均值

create_table "profiles", force: :cascade do |t| 
    t.string "pname" 
    t.float "current_gpa" 
end 

create_table "courses", force: :cascade do |t| 
    t.integer "course_number" 
    t.float "gpa" 
end 

我想计算的平均GPA:current_gpa =采取的课程GPA /取当然NUM的总和。我怎样才能做到这一点?

+0

任何错误信息?请张贴这些。最好在你的问题上表现出一些努力,否则他们将面临不受欢迎的危险。 –

回答

2

你应该考虑读一些文档 - 显然它可以快速地得到SO但有时文档可以导致你的东西你不知道去寻找或答案要求。

也就是说,最快的方式是使用average

profile.courses.average(:gpa) 

这会给你的平均水平。或者你可以做很长的路,如果由于某种原因你需要在两者之间进行修改。

profile.courses.sum(:gpa)/profile.courses.count