1

根据Form Helper'sform_for的文档:

form_for 方法自动将模型 id 作为隐藏字段包含在表单中。这用于维护表单数据与其关联模型之间的相关性。一些 ORM 系统不在嵌套模型上使用 ID,因此在这种情况下,您希望能够禁用隐藏的 ID。

这是有道理的并且很重要,但是如果您form_for在同一页面上有两个调用,它会生成两个具有相同标记和相同 ID 的隐藏字段。就我而言,它在同一页面上生成了两次:

<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。(这也不是有效的 HTML。)

4

1 回答 1

0

使用该form_for :namespace选项。

有关完整答案,请参阅https://stackoverflow.com/a/26415985/2511083

于 2014-10-17T00:21:37.257 回答