我正在处理一对多关系,其中一个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变为零。
我觉得这是一个简单的问题,但我对如何找到正在发生的事情感到茫然。任何建议都会非常有帮助。