我有一张病人桌和一张治疗台。很标准。在治疗表的内部我有一些字符串字段,它与任何东西都没有关系。我们现在就把它留在那里(认为它需要我假设)。患者表与用户有关系,但我不认为这是相关的。
我要做的是获得当前患者的下拉列表,以便在您创建治疗时显示在表单中。因此,治疗/ _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]这样的事情,那么我究竟会怎样做呢?
非常感谢任何帮助。
答案 0 :(得分:2)
在app/views/treatments/_form.html.erb
:
<%= f.collection_select(:patient_id, Patient.all, :id, :name) %>
应该给你一个所有患者的下拉列表
请参阅: