我有一个关联循环,我需要获取特定对象的先前记录。 [index-1]方法不适用于我。
我正在寻找以前的评估日期。
查看
<% @trial.assessments.order("assessment_date ASC").group(:assessment_id).each_with_index do |e, index| %>
<tr>
<td><%= e.assessmentDate[index-1] %></td>
<% e.establishments.order(:selection_id).group(:selection_id).each do |f| %>
<td><%= f.total.round(1) %></td>
<% end %>
</tr>
<% end %>
协会
has_many :establishments, primary_key: 'assessment_id'
belongs_to :assessment, primary_key: 'assessment_id', optional: true
答案 0 :(得分:1)
您似乎正在遍历评估,但是随后使用了AssessmentDate上的评估索引。也许这就是您的意思?
<%
assessments = @trial.assessments.order("assessment_date ASC").group(:assessment_id).to_a
assessments.each_with_index do |e, index|
%>
<tr>
<td><%= assessments[index-1].assessmentDate if i > 0 %></td>
<% e.establishments.order(:selection_id).group(:selection_id).each do |f| %>
<td><%= f.total.round(1) %></td>
<% end %>
</tr>
<% end %>