We want to apply the first radio button wrapper to most radios using simple_form. We have done so in our simple_form config.
config.wrapper_mappings = {
radio_buttons: :wrapped_radio_buttons
}
First radio class:
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
We want to apply a second radio wrapper to some other radios:
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
We tried adding a config wrapper mapping for the second option, but seem to be able to only apply one wrapper per html input type. How can we apply the second wrapper to some radios?
Here is our html:
<%= 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",
)
) %>
We want to replace that as: :radio_buttons
with a different line for this second wrapper type.