我有两个模型Run
和Patient
。 Run
belongs_to Patient
和Patient
has_many运行。
在Run
模型上,我正在使用accepts_nested_attributes
,使用fields_for通过常规Rails表单将患者的信息输入到运行中。
现在我有一个基本形式(精简版),如下所示:
<%= form_for(@run) do |f| %>
<%= f.fields_for :patient do |p| %>
<%= p.text_field :patient_name, placeholder: 'John Doe', class: 'form-control' %>
<% end %>
<% end %>
我能够在表单内创建一个患者,并拒绝在模型内部创建的关联/嵌套对象。但我要做的是:
1。)有一个搜索/选择框,我可以在其中键入患者姓名并自动完成
2.)如果找到患者,则选择患者并将其用于跑步。
3。)如果找不到患者或患者不对,我希望能够以某种方式使用first_or_create
来创建与跑步相关的新患者记录。
我已经搜索了一些这方面的例子,除了旧的Railscast espisode之外没什么帮助并使用我想避免的jQuery自动完成(使用selectize或select2代替)。
我将继续研究我在网上找到的例子,但有关如何做到这一点的任何建议都是我正在寻找的。我觉得我可以从控制器内的集合中实例化患者,并使用selectize / select2框中的患者来选择患者和相关的patient_id嵌套字段。因此,选择患者不会有问题,但我不确定如何解决不匹配患者的问题。
答案 0 :(得分:1)