I tried address still not able to display the address form.
<% person_form.fields_for :address do |address_form| %>
thanks
Geo
On Dec 29, 8:34 am, Colin Law <clan...@googlemail.com> wrote:
> On 29 December 2010 07:52, Geo Manickam <geo...@hotmail.com> wrote:
>
>
>
>
>
>
>
>
>
> > 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| %>
>
> I think that should be :address not @address, it specifies the
> association to use.
>
> Colin
>
>
>
>
>
>
>
> > <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-talk@googlegroups.com.
> > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
> > For more options, visit this group athttp://groups.google.com/group/rubyonrails-talk?hl=en.
--
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-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
No comments:
Post a Comment