I am new to rails, coming from .net. I am having the issue for 1:1
mapping nested model view the form will not render.

I have the code below. note the address object is created. I dont see
the label and text box. the person form render without any issue. the
debug works outside the fields_for.

Any help is appreciated

thanks
Geo

Model
======

class Person < ActiveRecord::Base
  has_one :address
  accepts_nested_attributes_for :address
end


class Address < ActiveRecord::Base
  belongs_to :person
end

Controller
========

 GET /people/new
  # GET /people/new.xml
  def new
    @person  = Person.new
    @address = @person.address = @person.build_address

    respond_to do |format|
      format.html # new.html.erb
      format.xml  { render :xml => @person }
    end
  end

View: _form.html.erb


<%= form_for(@person) do |person_form| %>
  <% if @person.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@person.errors.count, "error") %> prohibited
this person from being saved:</h2>s
      <ul>
      <% @person.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
      </ul>
    </div>
  <% end %>
  <div class="field">
    <%= person_form.label :name %><br />
    <%= person_form.text_field :name %>
  </div>
  <div class="field">
    <%= person_form.label :email %><br />
    <%= person_form.text_field :email %>
  </div>
  <div class="field">
    <%= person_form.label :phone %><br />
    <%= person_form.text_field :phone %>
  </div>
<h1>outside</h1>
  <%= debug(@person.address.attributes) %>
  <%= debug(@person.address) %>
  <% person_form.fields_for  @address  do |address_form| %>
 <h1>inside form</h1>
        <div class="field">
            <%= address_form.label :addressline1 %><br />
            <%= address_form.text_field :addressline1 %>
          </div>
        <div class="field">
            <%= address_form.label :addressline2 %><br />
            <%= address_form.text_field :addressline2 %>
          </div>
  <% end %>
  <div class="actions">
    <%= person_form.submit %>
  </div>
<% end %>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-t...@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to