I am looking at Rails 2.3.2 and how to cleanly do the following:
- I have model User
- User has many Plans
- User has one Active Plan
- New User form has fields on it to create the Active Parent
I want to create a new User with an Active Plan in one form.
At the moment I have:
class User < ActiveRecord::Base
has_one :active_plan, :class_name => ‘Plan’, :conditions =>
[‘active = ?’, true]
plans.build(attributes.merge(:active => true))
So that in the form I can wrap the active plan fields in:
<% f.fields_for :active_plan, @active_plan do |ap| %>
<% end %>
The @active_plan is being set in the user controller new action atm.
Is this the cleanest approach, or is there something else I can use?
accepts_nested_attributes_for did not seem to suit to set the plan to
being active … but could be missing something on that?