How can I use aggregation objects in form_for?

Say I have a person object which has a aggregation object call address. The the code to manipulate a form for create a new person should be:

# new.rhtml <% form_for :person, :url => {:action => 'create'} do |f| %>   <%= render :partial => 'form', :locals => {:f => form} %>   <%= submit_tag "Create" %> <% end %>

# _form.rhtml <p><label>Name</label><br/><%= form.text_field :name %></p> <p><label>Country</label><br/><%= form.text_field :country %></p> <p><label>City</label><br/><%= form.text_field :city %></p>

This does work. But country and city belong to the aggregation object address and I want to use address in the form. According to RDoc and rails book. The above text_field helper method will generate <input value="person[name]" /> and rails will recognize it and translate it into :person => {:name}. And if I can generate something like <input value="person[address][country]" />, then rails will get :person => {:address => {:country}}, which is exactly what I want. How can I tell rails to generate this kind of input for me? I cannot find any information about this in RDoc. Thanks a lot.