我在一个页面中为同一资源创建多个表单。每种形式都有单选按钮。
但是,Simple Form会为所有表单中的相同单选按钮选项分配相同的ID,从而导致冲突。
如何命名每个表单,或为每个标签和输入选择自定义ID?
答案 0 :(得分:4)
如果您在视图中使用多个simple_form_for
方法,那么form_for
内置的rails助手只能clever wrappers,它支持namespace
选项。引自form_for
docs:
:namespace
- 表单的命名空间,用于确保表单元素上id属性的唯一性。 namespace属性将在生成的HTML id上以下划线为前缀。
因此,以下内容应该有效:
<%= simple_form_for @resource, namespace: "first_form" do |f| %>
...
<% end %>
<%= simple_form_for @resource, namespace: "second_form" do |f| %>
...
<% end %>