使用Simple Form的单选按钮输入和标签的自定义ID

时间:2016-03-28 17:11:42

标签: ruby-on-rails radio-button simple-form

我在一个页面中为同一资源创建多个表单。每种形式都有单选按钮。

但是,Simple Form会为所有表单中的相同单选按钮选项分配相同的ID,从而导致冲突。

如何命名每个表单,或为每个标签和输入选择自定义ID?

1 个答案:

答案 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 %>