2016-12-01 3 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 

Я хочу, чтобы вычислить среднее ГПД: current_gpa = сумма ГПД курсов, принятых/Num конечно принято. Как я могу это сделать?

+0

Любые сообщения об ошибках? Пожалуйста, разместите их. Лучше всего проявить некоторые усилия в своих вопросах, иначе они находятся под угрозой не получения должным образом. –

ответ

2

Вы должны рассмотреть чтение некоторых документов - очевидно, это быстро, чтобы получить ответ на SO, но иногда документы могут привести вас к чему-то вы не знаете, искать или спросить.

Тем не менее, самый быстрый способ заключается в использовании average

profile.courses.average(:gpa) 

Это даст вам в среднем. Или вы можете сделать это долгий путь, если по какой-то причине вам нужно внести изменения между ними.

profile.courses.sum(:gpa)/profile.courses.count 
Смежные вопросы