我是一個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