1

我有一张患者表和一张治疗表。很标准。在治疗表中,我有一些字符串字段,它们与任何东西都没有关系。让我们暂时搁置它(认为它需要我假设)。然后患者表与用户相关,但我认为这不相关。

我要做的是在您创建治疗时获取当前患者的下拉列表以显示在表格中。因此,treatment/_form 将显示当前患者的下拉列表。创建患者的方式非常简单,用户必须登录,然后他们使用 CRUD 方法创建患者(在该表中基本上只是一个名称:字符串和电话:字符串)。所以我只想让这些名字出现在治疗表格的下拉列表中。

话虽如此,我意识到治疗区域需要与患者区域相关。所以我已经设置好了,所以让我们直接进入实施以及我到目前为止所做的事情。

到目前为止,我所做的是以硬编码的方式设置这一切。现在我需要帮助让它动态工作。这是硬编码版本:

在治疗表上:

<%= f.label "Client or Patient Name:" %>
<%= f.collection_select :patient, Treatment::PATIENTS, :to_s, :titleize %>

在治疗模型中:

PATIENTS = %w[John Jim Max Cathy]

  def role_symbols
    [patient.to_sym]
  end

当然,我将患者:字符串列添加到治疗表以使其正常工作。但这很好用。现在我只希望那个 PATIENTS 数组有实时数据。我注意到在模型中你不能做 PATIENTS = %w[Patient.all] 之类的事情,那么我该怎么做呢?

任何帮助将不胜感激。

4

1 回答 1

2

app/views/treatments/_form.html.erb

<%= f.collection_select(:patient_id, Patient.all, :id, :name) %>

应该给你所有病人的下拉列表

看:

于 2012-12-16T02:35:08.080 回答