ユーザーが既存のレコードを検索して関連付けを設定できるフォームがあります。各「予約」は「顧客」に属します。フォームに顧客の名前を入力すると、自動的に検索が行われ、目的の顧客をクリックします。入力している入力フィールドには顧客の名前が表示されるはずですが、フォームが機能するようcustomer_id
に、非表示の入力フィールドに を設定しました。
simple_form ジェムを使用しています。customer_id
顧客の名前を表示するテキスト入力フィールドの横に検証エラーを表示できるかどうか知っている人はいますか? モデルにはcustomer_id
が必要なので、ユーザーが空白のままにしておくことをユーザーに伝えるフォームが必要です。
コードの表示 (簡略化 -- 顧客のテキスト ボックスに入力すると検索を処理し、選択を行うと非表示フィールドの値を顧客の ID に設定する JavaScript がいくつかあります):
<%= simple_form_for @booking do |f| %>
<%= f.hidden_field :customer_id, id: "customer_id" %>
<%= f.input :customer, required: true,
input_html: { value: @booking.customer_name } %>
<% end %>