ユーザがナンバープレートの番号を適切なレールのフォームに入力しようとすると、オートコンプリート機能を使用しようとしています。私はeasyautocompleteとjquery-uiオートコンプリートを行ってきました。しかし、license_number属性がネストされた属性であり、すべての関連付けを取得する方法が見つからないため、それらのいずれかを動作させるように見えることはできません。Rails Jquery-uiネストされた属性のオートコンプリート
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>
...
車両モデルH license_numberという属性として設定します。そのモデルからすべてのライセンス番号を取得し、それを関連付けてオートコンプリート機能を使用できるようにするにはどうすればよいですか?
編集
permits.coffeeは
jQuery ->
$('#vehicle_license_number').autocomplete
source: vehicle.collect(|car| [car.license_number, car.vehicle_id])
は、オートコンプリートのために使用されているJavaScriptコードを入力してください。たぶん関数として 'source'を使う必要があります。そこでは、ネストされた要素とトップ要素をカスタム検索することができます。また、データの例も含めてください。 – Twisty
それを忘れてしまった。私は最初に標準配列を実行しようとしましたが、autocompleteをlicense_numberフィールドに表示することさえできません。私は別のフィールドにすることができますが、ネストされた属性フィールドではありません。 –