【发布时间】:2018-04-30 08:33:12
【问题描述】:
当用户尝试将车牌号输入到相应的导轨表单中时,我正在尝试使用自动完成功能。我一直在经历 easyautocomplete 和 jquery-ui 自动完成。但是似乎无法让它们中的任何一个工作,因为 license_number 属性是一个嵌套属性,我找不到将其全部关联起来的方法。
permit.rb
class Permit < ApplicationRecord
self.primary_key = :permit_id
has_one :vehicle
accepts_nested_attributes_for :vehicle
vehicle.rb
class Vehicle < ApplicationRecord
self.primary_key = :vehicle_id
belongs_to :permit, optional: true
许可表格
<%= form_with(model: permit, local: true) do |form| %>
...
<div class="field">
<%= form.fields_for :vehicle do |f| %>
<%= f.label :license_number %>
<%= f.text_field :license_number %>
<% end %>
</div>
...
车辆型号有一个名为 license_number 的属性。如何从该模型中获取所有许可证号并将其关联起来,以便使用自动完成功能?
编辑
permits.coffee
jQuery ->
$('#vehicle_license_number').autocomplete
source: vehicle.collect( |car| [car.license_number, car.vehicle_id])
【问题讨论】:
-
请提供用于自动完成的 JavaScript 代码。您很可能需要将
source用作函数,您可以在其中自定义搜索嵌套元素与顶部元素。还包括数据示例。 -
忘记了。我试着先做一个标准数组,我什至无法让自动完成显示在 license_number 字段中。我可以在不同的字段中,但它们不是嵌套的属性字段。
标签: jquery ruby-on-rails jquery-ui autocomplete