我是一个n00b,仍然挣扎着加入。如何在rails中通过和belongs_to关联执行has_many的连接表?
我有两种模式:患者和提供者通过表格图表连接。
我使用关联“has_many:through”而不是“has_and_belongs_to_many”,因为我需要将另一列添加到Chart表[称为patient_mrn],我无法对“has_and_belongs_to_many”场景进行操作。
什么即时试图做的是出现在特定的病人及其所有相关供应商[各有其特定的patient_mrn]
病人模型有:
has_many :charts
has_many :providers, :through => :charts
提供者模型有:
的has_many:图表 的has_many:患者:通过=>:图表
和图表模型具有:
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>
我同时实现控制器动作和视图写错了,但无法弄清楚如何解决它们。
感谢Daniel-我感谢您的帮助!我需要真的打这些书。 – user2284821 2013-04-29 04:11:16