【发布时间】:2018-08-21 02:53:54
【问题描述】:
我希望生成一个循环表,其中每个处理都有 3 个结果。我想在一行中包含日期、度数,然后列出每个单独的治疗。
控制器
@trial = Trial.find(params[:trial_id])
@max_length = [@trial.treatment_selections].map(&:size).max
型号
has_many :treatment_selections, primary_key: 'trial_id'
has_many :assessments, primary_key: 'trial_id'
has_many :methods, through: :assessments
到目前为止,我有这个:
<table class="table table-bordered">
<th>Date</th>
<th>Degree</th>
<% @max_length.times do |data| %>
<th><%= @trial.treatment_selections[data].try(:treatment).try(:name) %></th>
<% end %>
<% @max_length.times do |data| %>
<% @trial.methods.order(:treatment_selection_id).order("assessment_date ASC").in_groups_of(3)[data].each_with_index do |e, index| %>
<tr>
<td></td>
<td><%= Time.at(e.try(:assessment).try(:assessment_date)/1000).strftime("%d/%m/%Y") rescue 0 %></td>
<td><%= e.try(:assessment).try(:degrees) rescue 0 %></td>
<td><%= e.try(:total).round(1) rescue 0 %></td>
</tr>
<% end %>
<% end %>
</table>
产生这个:
但我希望它产生这个:
【问题讨论】:
-
什么是
@trial? -
包括与此视图相关的模型。
-
愿意提供帮助。您能否将此处使用的表格结构与示例数据分享一下?
标签: ruby-on-rails ruby-on-rails-5