Forms with associations and collections


Does anyone have a good pattern for using a sinlge form for a model
with multiple associations including some has_many's?

For example I have a Property model with a has_one association an
Address model and a has_many association to a Highlight model. I would
like to update these all on the same page however if I render the main
Property form, then use a partial for the address and Highlight (with
ajax for adding multiple highlights), I get an issue where to make
things work I have to:

1. Create a new Address for the Property.address.
2. If the Address fields are blank the Address record will still be
3. So, I use a custom function to test each value of the hash and
return true if all are blank - only add if false... (i.e.
@property.build_address(params[:address]) unless
4. If I am updating the property rather than creating it I have to test
whether the address is nil and either update, create or delete
depending on what has been passed in params.

Seems a bit messy and rails always seems to have an elegant solution
for this standard sort of stuff so I am sure I am missing something!

Any suggestions for a cleaner why to go about this?