Я полагаю, это зависит от того, какое среднее значение вы хотите, но что-то вроде этого будет работать:
<% @objectives.each do |objective| %>
<% total_score = 0 %>
<% objective.keyresults.each do |keyresult| %>
<% score = (keyresult.scores.maximum("score") - keyresult.start_score) / (keyresult.target - keyresult.start_score) %>
<% total_score += score %>
<%= number_to_percentage(score * 100, precision: 0) %>
<% end %>
<%= "Average: #{number_to_percentage(total_score / objective.keyresults.size * 100, precision: 0)}" %>
<% end %>
Однако ... вы ДЕЙСТВИТЕЛЬНО не должны делать эти вычисленияв представлении, как вы, кажется,.Это бизнес-логика, и она либо принадлежит модели, либо, возможно, объекту обслуживания.