2015-07-21 103 views
0

我正在嘗試返回與患者相關的特定醫院名稱,但不斷收到錯誤。從對象中獲取特定物品

Models: 
Hospital 
has_many :patients 

Patients 
belong_to :hospital 

渲染我的網頁當我打電話控制器:

def list_patients 
     @patients = Patient.all 
    end 

在我看來,我打印出每個患者和他們的信息:

<% @patients.each do |patient| %> 
<table> 
    <tr> 
     <td><%= patient.first_name + "," + patient.last_name %></td> 
     <td><%= patient.ssn %></td> 
     <td><%= patient.dob %></td> 
     <td><%= patient.hospital.name%></td> 
    </tr> 
</table> 

上述返回「未定義的方法名稱」。如果我刪除名稱,則可以看到返回對象(<Hospital:0x007fa1d9530138>) ,但我無法再訪問對象中的特定屬性。

我可以返回醫院專用ID,如果我這樣做:

patient.hospital_id 

,但我則卡在如何讓醫院的名字。

+1

hospital_id如果患者只屬於一個醫院。你如何獲得收藏或數組? 'patient.hospital'應該返回ab對象。即時通訊假設有hospital_id在患者表中這是你的聯繫如何描述 – Athar

+0

有一個hospital_id,但我很困惑如何從我的醫院表 – user464180

+1

那麼檢索與該ID相關的名稱如此。 hospital_id是患者表中的foreign_key。用於查詢醫院表格以獲取詳細信息。當你做patient.hospital,如果它返回你的醫院對象。那麼這與你有耐心時相似。就像您有患者對象並且您可以獲取patient.last_name一樣。同樣的,如果你有病人。醫院作爲醫院對象。您可以獲取patient.hospital.name。 – Athar

回答

0

您的代碼是否與粘貼的代碼相同?

如果是這樣,belongs_to而不是belong_to

如果你還不能在控制檯做Hospital.first.patients,確保你在你的患者模型