【问题标题】:Custom IDs for input and label using Simple Form's radio buttons使用简单表单的单选按钮为输入和标签自定义 ID
【发布时间】:2016-07-15 23:56:00
【问题描述】:

我在一个页面中为同一资源创建多个表单。这些表单中的每一个都有单选按钮。

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

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

【问题讨论】:

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


    【解决方案1】:

    如果您在视图中使用多个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},当然用我的模型名称替换资源。
    猜你喜欢
    • 2016-10-03
    • 2020-07-28
    • 2018-11-05
    • 1970-01-01
    • 2014-08-19
    • 1970-01-01
    • 2013-08-09
    • 2016-03-24
    • 2021-07-27
    相关资源
    最近更新 更多