0

私の問題は、被験者の割合を計算することです。私はEnterMarkモデルを持っています。section_id が含まれています。それを使用して、特定のセクションの学生数を取得できます。しかし、各被験者のパーセンテージを計算するときに問題が発生します(チャートビューで)。

コントローラ

@mark_percent = EnterMark.where(:school_id => params[:school], :course_id =>  params[:course], :section_id => params[:view])

意見

<% @mark_percent.each do |i| %>     
  <% @count = i.students.count %> 
    ['<%= i.subject.subject %>', <%= (i.subject_mark_total) / @count  %>],
<% end %>

ただし、科目ごとに @count は取られません。助けてください。

4

2 に答える 2

0

各コースの平均を求めているということですね。Pierre-Louis Gottfroisが言ったように、ビュー内で変数を定義しないようにする必要があります。

Course.rb モデルでは、次のようなものを作成できます。

def avg
  total = self.subject_mark_total.to_f
  students = self.students.count
  # get average of scores and round to two decimal places
  average = total / students
  average.round(2)
end

そしてビューコールで<%= course.avg %>

あなたが求めているものを誤解していたら、ごめんなさい!

于 2013-08-19T11:37:16.317 に答える