从关联循环获取先前的结果

时间:2018-08-30 03:24:05

标签: ruby-on-rails ruby-on-rails-5

我有一个关联循环,我需要获取特定对象的先前记录。 [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

1 个答案:

答案 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 %>