Rails表单助手:覆盖Rails隐藏模型ID的id

时间:2014-04-30 00:24:49

标签: ruby-on-rails actionview actionviewhelper

根据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。)

1 个答案:

答案 0 :(得分:0)

使用form_for :namespace选项。

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