Have you tried setting up addresses as embeds together with Phoenix.Component.inputs_for/1 within the form in the template?