Ruby on rails rails:使用for将数据组织到表中

Ruby on rails rails:使用for将数据组织到表中,ruby-on-rails,ruby,ruby-on-rails-3,for-loop,Ruby On Rails,Ruby,Ruby On Rails 3,For Loop,我有以下看法: <table class="fixed"> <tr> <th>Student Name</th> <!-

我有以下看法:

<table class="fixed">                                                                            
  <tr>                                                                             
    <th>Student Name</th>
    <!-- create as many <th> as there are evaluations -->
    <% @eval_count.times do |i|  %>                                                 
      <th>Evaluation <%= i+1 %></th>
    <% end %>    
    <th>Student Average <br />(for this goal)</th>

  </tr>                                                                           

  <% for eval in @evals %>                     
    <tr class="<%= cycle("odd", "even", name: "evals")%>">
        <!-- eval returns { s_id [eval],[eval]} -->
      <td><%= eval[1].first.student.name%></td> 
      <!-- in each student's row, print the score for each consecutive evaluation -->
      <% @eval_count.times do |i|  %>                                                 
        <td><%= eval[1][i].score %><% @ss_scores << eval[1][i].score %></td> 
      <% end %>
      <td><%= @ss_scores %></td>
    </tr>             
   <% reset_cycle("evals") %>   
   <% end %>                                                                        
</table>

<% @ss_scores.in_groups(@student_count, false) do |group|%>
    <%= (group.sum.to_f/group.size).round(2) %>                                                    
<% end %>

学名
评价
学生平均水平
(针对该目标)
尝试每次清空数组,使用[]并计算平均内联值,如下所示

 <td><%= @ss_scores.inject(0.0) { |sum, el| sum + el } / @ss_scores.size %></td>
 <% @ss_scores = [] %>

-



啊!!!事实上,我有
@ss_分数。在这里有一点很清楚,不知道我怎么会错过。谢谢你!酷,试着在下一次应用程序开发中改变这种态度……(请不要指出视图中有逻辑是不好的)…只是为了你好!事实上,它被编辑了,读起来有点不一样——我的意思是,我只是在尝试使代码正常工作的同时才这么做,稍后将进行重构——但这一点是正确的,再次感谢
<% for eval in @evals %>                      
        <tr class="<%= cycle("odd", "even", name: "evals")%>">
            <!-- eval returns { s_id [eval],[eval]} -->
          <td><%= eval[1].first.student.name%></td> 
          <!-- in each student's row, print the score for each consecutive evaluation -->
          <% @eval_count.times do |i|  %>                                                 
            <td><%= eval[1][i].score %>
              <% @ss_scores << eval[1][i].score %>
            </td> 
          <% end %>
          <td><%= @ss_scores.inject(0.0) { |sum, el| sum + el } / @ss_scores.size %></td>
          <% @ss_scores = [] %>
        </tr>             
       <% reset_cycle("evals") %>  

    <% end %>