Instantiating a new object with a template, through an association

class Project < ActiveRecord::Base
has_one :template

class Template < ActiveRecord::Base
belongs_to :project, foreign_key: “project_id”

When you create a new project I’d like you to select the template from
a collection of existing templates (created by an admin).

The new project.template should have all of the template’s attributes
(clients, tasks etc) and these should be editable without affecting
the original template (a completely new instance).

My difficulty has been in moving all of the template’s params through
the select input from a form.

My current (very poor) attempt at the form looks like this:

= simple_form_for @project do |f|

project stuff here

= simple_fields_for “project[template_attributes]”,
@project.build_template do |project_form|
= project_form.input :title, collection: @templates