<% the_form = Class.new(ApplicationForm) do form do |query_form| query_form.group do |group| group.text_field( name: 'a', label: 'The first field' ) group.text_field( name: 'b', label: 'The second field' ) group.text_field( name: 'c', label: 'The third field' ) group.text_field( name: 'd', label: 'The fourth field' ) group.text_field( name: 'e', label: 'The fifth field' ) group.text_field( name: 'f', label: 'The sixth field' ) end end end %> <%= render(Primer::Alpha::Dialog.new(title: dialog_title, size: :large, id: dialog_id)) do |d| %> <% d.with_show_button { button_text } %> <% d.with_header(variant: :large) %> <%= render(Primer::Alpha::Dialog::Body.new) do primer_form_with( url: '/abc', id: form_id) do |f| render(the_form.new(f)) end end %> <%= d.with_footer do %> <%= render(Primer::Beta::Button.new(data: { "close-dialog-id": dialog_id })) { I18n.t(:button_cancel) } %> <%= render(Primer::Beta::Button.new(scheme: :primary, type: :submit, form: form_id)) { I18n.t(:button_apply) } %> <% end %> <% end %>