diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index b6316a3..842c4f9 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -18,6 +18,7 @@ class ProjectsController < ApplicationController subproject.build_client subproject.build_owner subproject.build_builder + subproject.build_subproject_address end end @@ -66,6 +67,7 @@ class ProjectsController < ApplicationController private CLIENT_FIELDS = [:company_name, :firstname, :lastname, :streetname, :zipcode, :city, :country, :email, :phone] + SUBPROJECT_ADDRESS_FIELDS = [:streetname, :zipcode, :city, :country] # Use callbacks to share common setup or constraints between actions. def set_project @@ -80,7 +82,8 @@ class ProjectsController < ApplicationController :id, :subproject_name, :client_id, :owner_id, :builder_id, :_destroy, client_attributes: CLIENT_FIELDS, owner_attributes: CLIENT_FIELDS, - builder_attributes: CLIENT_FIELDS + builder_attributes: CLIENT_FIELDS, + subproject_address_attributes: SUBPROJECT_ADDRESS_FIELDS ] ) end diff --git a/app/models/subproject.rb b/app/models/subproject.rb index ad18443..56c9ef0 100644 --- a/app/models/subproject.rb +++ b/app/models/subproject.rb @@ -5,12 +5,11 @@ class Subproject < ApplicationRecord belongs_to :client, class_name: 'Client', optional: true belongs_to :owner, class_name: 'Client', optional: true belongs_to :builder, class_name: 'Client', optional: true - belongs_to :subproject_addresses, optional: true accepts_nested_attributes_for :client, reject_if: ->(attrs) { attrs['id'].present? || attrs.values.all?(&:blank?) } accepts_nested_attributes_for :owner, reject_if: ->(attrs) { attrs['id'].present? || attrs.values.all?(&:blank?) } accepts_nested_attributes_for :builder, reject_if: ->(attrs) { attrs['id'].present? || attrs.values.all?(&:blank?) } - accepts_nested_attributes_for :subproject_addresses, allow_destroy: true, reject_if: ->(attrs) { attrs['id'].present? || attrs.values.all?(&:blank?) } + accepts_nested_attributes_for :subproject_address, allow_destroy: true, reject_if: ->(attrs) { attrs['id'].present? || attrs.values.all?(&:blank?) } validates :subproject_name, presence: true diff --git a/app/views/projects/_form.html.erb b/app/views/projects/_form.html.erb index c4944c1..6f2ca85 100644 --- a/app/views/projects/_form.html.erb +++ b/app/views/projects/_form.html.erb @@ -41,8 +41,23 @@ <% end %> +