我是一个 n00b,但仍在为加入而苦苦挣扎。
我有两个模型:通过表格图表加入的患者和提供者。
我使用了关联“has_many :through”而不是“has_and_belongs_to_many”,因为我需要将另一列添加到图表表中 [称为patient_mrn],而对于“has_and_belongs_to_many”场景,我无法做到这一点。
我试图做的是显示给定的患者及其所有相关的提供者[每个都有其特定的患者_mrn]
患者模型具有:
has_many :charts
has_many :providers, :through => :charts
提供者模型具有:
has_many :charts has_many :患者, :through => :charts
并且图表模型具有:
belongs_to :patient
belongs_to :provider
然后在患者控制器中的表演动作中,我有:
@patient = Patient.find(params[:id])
@providers = Provider.joins(:charts)where(:charts => { :patient_id => @patient.id})
在我的病人看来,我有:
<h1>Listing providers</h1>
<table>
<tr>
<th>Provider name</th>
<th>Patient_mrn</th>
</tr>
<% @providers.each do |provider| %>
<tr>
<td><%= provider.name %></td>
<td><%= provider.chart.patient_mrn %></td>
</tr>
<% end %>
</table>
我意识到控制器动作和视图都写错了,但不知道如何修复它们。