我有两个型号: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自动完成,这是我想避免的(使用选择或select2 )。
我将继续研究我在网上找到的示例,但任何关于如何做到这一点的建议都是我正在寻找的。我觉得我可以从控制器中的集合中实例化患者,并使用选择化/选择2框中的患者和patient_id的关联嵌套字段来选择患者。因此,选择患者不是问题,但我不确定如何处理不匹配的患者的创建。
发布于 2017-06-05 22:29:35
https://stackoverflow.com/questions/44232005
复制相似问题