`current_student_data.grade_for_assignment(assignment)` always returns a grade (it creates one if it can't find one) so you don't need a try around `.predicted_grade`. Also, if you define a `predicted_score` method on `Grade` that returns 0 if `predicted_score` is nil, then you can get rid of the presence call and your view code gets a lot simpler (both here and on line 39).