首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将一个simple_form自定义包装器应用于某些单选按钮,但对其他单选按钮应用不同的包装器

将一个simple_form自定义包装器应用于某些单选按钮,但对其他单选按钮应用不同的包装器
EN

Stack Overflow用户
提问于 2015-10-28 20:02:29
回答 1查看 313关注 0票数 2

我们希望使用simple_form对大多数收音机应用第一个单选按钮包装器。我们已经在simple_form配置中这样做了。

代码语言:javascript
复制
config.wrapper_mappings = {
 radio_buttons: :wrapped_radio_buttons
}

头等舱:

代码语言:javascript
复制
config.wrappers(
 :wrapped_radio_buttons,
 class: "field-unit radio-buttons",
 error_class: "field-with-errors"
) do |b|
 b.use :error, wrap_with: { tag: "span", class: "field-error" }
 b.use :label_input
end

我们想将第二个无线电包装器应用于其他一些收音机:

代码语言:javascript
复制
config.wrappers(
 :wrapped_radio_blocks,
 class: "field-unit radio-buttons radio-block-group",
 error_class: "field-with-errors"
) do |b|
  b.use :label
  b.use :error, wrap_with: { tag: "span", class: "field-error" }
  b.wrapper tag: "div", class: "radio-blocks" do |ba|
   ba.use :input
  end
end

我们尝试为第二个选项添加一个配置包装映射,但似乎每个html输入类型只能应用一个包装器。如何将第二个包装器应用于某些收音机?

以下是我们的html:

代码语言:javascript
复制
<%= f.input(
  :fake_input,
  as: :radio_buttons,
  collection: t(
    [
      :radio_option_one,
      :radio_option_two,
      :radio_option_three,
      :radio_option_four,
      :radio_option_five,
    ],
    scope: "fake_scope",
  )
) %>

对于第二个包装器类型,我们希望用不同的行替换该as: :radio_buttons

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-28 20:14:32

在使用班级解决方案而不是创建一个全新的simple_form自定义包装器后不久,我们就解决了这个问题。

代码语言:javascript
复制
<%= f.input(
  :regular_radio_example,
  as: :radio_buttons,
  collection: t(
    [
      :radio_option_one,
      :radio_option_two,
      :radio_option_three,
      :radio_option_four,
      :radio_option_five,
    ],
    scope: "fake_scope",
  ),
) %>

<%= f.input(
  :new_cool_radio_example,
  as: :radio_buttons,
  wrapper_html: { class: "radio-block-group" },
  collection: t(
    [
      :radio_option_one,
      :radio_option_two,
      :radio_option_three,
      :radio_option_four,
      :radio_option_five,
    ],
    scope: "fake_scope",
  ),
  collection_wrapper_tag: "div",
  collection_wrapper_class: "radio-blocks",
) %>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33400564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档