<%= form_with(model: project) do |form| %> <% if project.errors.any? %>

<%= pluralize(project.errors.count, "error") %> prohibited this project from being saved:

<% end %> <% [:name, :email, :short_name, :offer_date, :order_date].each do |prj_attrib| %>
<%= form.label prj_attrib, style: "display: block" %> <%= form.text_field prj_attrib %>
<% end %>

Subprojects

<%= form.fields_for :subprojects do |sp_form| %>
<%= sp_form.label :subproject_name %> <%= sp_form.text_field :subproject_name %> <% [:client, :owner, :builder].each do |role| %>
<%= sp_form.label "#{role}_id", "Select Existing #{role.capitalize}" %> <%= sp_form.collection_select "#{role}_id", Client.all, :id, -> (client) { "#{client.company_name} (#{client.lastname}, #{client.firstname})" }, prompt: "Select #{role.capitalize}" %>
Or Create New <%= role.capitalize %> <%= sp_form.fields_for role do |c_form| %> <% [:company_name, :firstname, :lastname, :streetname, :zipcode, :city, :country, :email, :phone].each do |attrib| %> <%= c_form.label attrib %> <%= c_form.text_field attrib %>
<% end %> <% end %>
<% end %>
<% end %>
<%= form.submit %>
<% end %>