每个循环将值设置为nil

时间:2015-04-04 19:44:26

标签: ruby

我正在处理一对多关系,其中一个Workout有很多Workout_drill,而Workout_drills表也属于一个作为参考表的Drills表。 在创建锻炼时,会创建5个Workout_drill,其中包含随机创建的Drill_id(从练习表中提取)以及所有Workout_drill记录的相同锻炼ID。

这是锻炼控制器:

  def show
    @workout = current_user.workouts.find(params[:id])
    @workout_drills = @workout.workout_drills
  end

以下是观点:

<% @workout_drills.each do |w| %>
    <tr>
      <td><%= link_to w.drill.name, drill_path(w) %></td>
      <td><%= w.drill.description %></td>
      <td><%= w.drill.pointers %></td>
      <% if w.drill.video.present? %>
      <td><%= link_to "Video", w.drill, class: 'btn-xs btn-success' %></td>
      <% else %>
      <td>Not Yet</td>
      <% end %>
    </tr>
    <% end %>
  </table>
  <%= link_to 'Begin Workout', workout_drill_path, class: 'btn btn-success' %>
</div>

出于某种原因,在调用时,workout_drills正确填充,但是当我尝试在终端中调用w时,drill_id变为零。

我觉得这是一个简单的问题,但我对如何找到正在发生的事情感到茫然。任何建议都会非常有帮助。

0 个答案:

没有答案