根据docs for Form Helper's form_for
:
form_for方法自动将模型ID包含为隐藏 形式中的字段。这用于维持之间的相关性 表单数据及其相关模型。有些ORM系统不使用 嵌套模型上的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 accessibility compliant,并且不允许同一页面上具有相同ID的两个标记。 (这也不是有效的HTML。)
答案 0 :(得分:0)
使用form_for
:namespace
选项。
有关完整答案,请参阅https://stackoverflow.com/a/26415985/2511083。