在rails视图中的ruby中生成基于列的表

我需要一些动态生成基于列的表而不是基于行的表的帮助。

假设我有医院,医院有很多病人。

医院没有

| Day 1 | Day 2 | Day 3 Patient 1 | 36.6 | 36.4 | 36.5 Patient 2 | 37.0 | 37.1 | 36.6 Patient 3 | 37.1 | 36.4 | 36.7 Patient 4 | 36.6 | 36.6 | 36.6 Patient 5 | 36.7 | 37.1 | 36.4 

每天,每位患者都要检查体温。 我想获得动态绘制此类表格的提示/提示或示例 – 垂直添加新数据,而不是水平添加。 希望你明白我的意思。

先感谢您 :)

我假设你的意思是这样的:

你有三个型号:

 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视图中构建一个表:

  <%- some_hospital.temp_readings.map(&:date_of_reading).sort do |date_of_reading| -%>  <%- end -%>  <%- some_hospital.patients.each do |patient| -%>  <%- patient.hospital.temp_readings.map(&:date_of_reading).sort do |date_of_reading| -%>  <%- end -%>  <%- end -%> 
 <%= date_of_reading %>
<%= patient.name %><%= patient.temp_reading.find_by_date_of_reading(date_of_reading) %>

我假设你的阅读模型中有一些日期列,我只是称之为date_of_reading

如果您的问题与应用程序中数据的存储和表示有关,那么您可以使用以下两种模型执行此操作:

 class Patient < ActiveRecord::Base has_many :temp_readings end class TempReading < ActiveRecord::Base belongs_to :patient end 

为每位患者创建新的阅读时,您需要在temp_readings表中添加一行。 显示这些读数时(比如最近7天),您可以在一行中为每位患者打印最后7行temp_readings值,从而为您提供柱状输出。