Я предполагаю, что вы имели в виду что-то вроде этого:
у вас есть три модели:
class Hostpital < ActiveRecord::Base
has_many :patients
has_many :temp_readings, :through => :patients
end
class Patient < ActiveRecord::Base
belongs_to :hospital
has_many :temp_readings
end
class TempReading < ActiveRecord::Base
belongs_to :patient
end
Чем вы можете построить таблицу в виде erb следующим образом:
<table>
<thead>
<tr>
<th> </th>
<%- some_hospital.temp_readings.map(&:date_of_reading).sort do |date_of_reading| -%>
<th><%= date_of_reading %></th>
<%- end -%>
</tr>
</thead>
<tbody>
<%- some_hospital.patients.each do |patient| -%>
<tr>
<th><%= patient.name %></th>
<%- patient.hospital.temp_readings.map(&:date_of_reading).sort do |date_of_reading| -%>
<td><%= patient.temp_reading.find_by_date_of_reading(date_of_reading) %></td>
<%- end -%>
</tr>
<%- end -%>
</tbody>
</table>
Я предполагаю, что у вас есть какая-то колонка с датой в вашей модели чтения, я просто назвал ее date_of_reading