从对象

时间:2015-07-21 19:41:36

标签: ruby-on-rails ruby collections

我正在尝试返回与患者相关的特定医院名称,但一直在收到错误。

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 个答案:

答案 0 :(得分:0)

您的代码是否与粘贴的代码相同?

如果是,则为belongs_to而非belong_to

如果您也无法在控制台中执行Hospital.first.patients,请确保患者模型中有hospital_id