%= form_with(model: project) do |form| %>
  <% if project.errors.any? %>
    
      <%= pluralize(project.errors.count, "error") %> prohibited this project from being saved:
      
        <% project.errors.each do |error| %>
          - <%= error.full_message %><% end %>
 
  <% end %>
  <% project_form_fields.each do |attrib| %>
  
    <%= form.label attrib, style: "display: block" %>
    <%= form.text_field attrib, value: project.send(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}" %>
          
        
      <% end %>
    
      
    
  <% end %>
  
    <%= form.submit %>
  
<% end %>