【发布时间】:2016-07-15 23:56:00
【问题描述】:
我在一个页面中为同一资源创建多个表单。这些表单中的每一个都有单选按钮。
但是,简单表单会为所有表单中的相同单选按钮选项分配相同的 ID,从而导致冲突。
如何命名每个表单,或为每个标签和输入选择自定义 ID?
【问题讨论】:
标签: ruby-on-rails radio-button simple-form
我在一个页面中为同一资源创建多个表单。这些表单中的每一个都有单选按钮。
但是,简单表单会为所有表单中的相同单选按钮选项分配相同的 ID,从而导致冲突。
如何命名每个表单,或为每个标签和输入选择自定义 ID?
【问题讨论】:
标签: ruby-on-rails radio-button simple-form
如果您在视图中使用多个simple_form_for 方法,它们只是clever wrappers 围绕支持namespace 选项的form_for 内置rails 助手。引用自form_for docs:
:namespace- 表单的命名空间,以确保表单元素上 id 属性的唯一性。命名空间属性将在生成的 HTML id 上加上下划线。
所以,类似以下的东西应该可以工作:
<%= simple_form_for @resource, namespace: "first_form" do |f| %>
...
<% end %>
<%= simple_form_for @resource, namespace: "second_form" do |f| %>
...
<% end %>
【讨论】:
resource_#{resource.id},当然用我的模型名称替换资源。