Form Helper's のドキュメントにform_for
よると:
form_for メソッドは、モデル ID を非表示フィールドとしてフォームに自動的に含めます。これは、フォーム データとそれに関連付けられたモデルとの間の相関関係を維持するために使用されます。一部の ORM システムは、ネストされたモデルで ID を使用しないため、この場合、非表示の ID を無効にできるようにする必要があります。
これは理にかなっていて重要ですがform_for
、同じページに 2 つの呼び出しがある場合、同じマークアップと同じ ID を持つ 2 つの非表示フィールドが生成されます。私の場合、同じページでこれを 2 回生成します。
<input id="clinic_patient_signup_clinic_patient_link_person_attributes_patient_information_attributes_id" name="clinic_patient_signup[clinic_patient_link][person_attributes][patient_information_attributes][id]" type="hidden" value="32" /></div>
id
その入力の属性を上書きする方法はありますか? 私の記憶が正しければ、name
重要なのは属性だけであり、値は同じままでかまいません。私たちのサイトはWCAG 2.0 アクセシビリティに準拠している必要があり、同じページに同じ ID を持つ 2 つのタグを使用することはできません。(これも有効な HTML ではありません。)