Go back Web Development

View Components - edgecases

In production code




<%= form_with(model: User.new(first_name: "Viktoria"), url: "/") do |form|  %>
  <%= render(App::RadioButtonGroupComponent.new(form: form, name: :first_name, title: "Title")) do |comp|
    comp.with_radio_button value: "Nikol"
    comp.with_radio_button value: "Viktoria"
    comp.with_radio_button value: "Zdenka"
  end %>
<% end %>
works 👍
----

This works 👍:
<%= render(Gen::ActionPanelComponent.new(title: "Would you like to add a trackable coupon?")) do |comp| %>
  <% comp.with_body do %>
    <%= form_with(model: SpendLimitation.new(enabled: false, interval: "daily"), url: "/") do |form|  %>
      <%= render(App::RadioButtonComponent.new(form: form, name: :enabled, value: false, label: "Disable")) %>
      <div class="separator"></div>
      <%= render(App::RadioButtonComponent.new(form: form, name: :enabled, value: true, label: "Enable")) %>
    <% end %>
  <% end %>
<% end %>

This doesnt work 👎 :
<%= render(Gen::ActionPanelComponent.new(title: "Would you like to add a trackable coupon?")) do |comp| %>
  <% comp.with_body do
    form_with(model: SpendLimitation.new(enabled: false, interval: "daily"), url: "/") do |form|
      render(App::RadioButtonComponent.new(form: form, name: :enabled, value: false, label: "Disable"))
      render(App::RadioButtonComponent.new(form: form, name: :enabled, value: true, label: "Enable"))
    end
   end %>
<% end %>