ich ein examscore Modell mit den folgenden Spalten:durch eine Fixnum in Schienen Looping
academic_year_id, grade_id, STUDENT_ID, subject_id, total_score
und ein averagescore Modell mit diesem Spalten:
akademic_year_id , Grade_id, STUDENT_ID, durchschnittlich
Meine Forderung ist durch das Examscore
Modell von academic_year_id
und grade_id
, und berechnen Sie die durchschnittliche Punktzahl der einzelnen Schüler für alle Themen, die von den Studenten (dh Summe Gesamtergebnis aller Fächer genommen iterieren dividiert durch die Anzahl der Probanden) speichern Sie dann den Durchschnittswert im Modell AverageScore
. Ich finde das schwierig und jede Hilfe wird sehr geschätzt.
Was ich bisher getan haben, ist:
total = 0
counter = 0
scores = Examscore.where(:academic_year_id => 3, :grade_id => 4)
scores.each do |std|
std.student_id.each do |tot|
total += tot.total_score
counter += 1
end
puts total.fdiv(counter)
aber es funktioniert nicht, weil std.student_id
a Fixnum
kein Array
.
Gibt es eine Anleitung, wie Sie sich diesem bitte nähern?
Das hat den Trick gemacht. Prost –