hi Walter, thank you for replying.
it's inside the form_for code block On Aug 5, 5:41 am, Walter Lee Davis <[email protected]> wrote: > On Aug 4, 2011, at 4:24 PM, Kleber Shimabuku wrote: > > > A friend of mine just realize that the problem is related to the > > javascript add function. > > > And now I'm trying to fix it. > > > <div><%= add_child_link "Add Part", f, :item %></div> > > Look outside of this line. Are you sure you are inside of the > `form_for @your_model do |f|` loop at the moment you see this line? > The error sounds like you're outside of it, and thus builder.object > (inside the helper) doesn't resolve to @ your_model. > > Walter > > > > > > > > > > > on my Item model I hold the accepts_nested_attributes_for :item_parts > > > but I still getting a error > > > undefined method `klass' for nil:NilClass > > > this error refers to the object variable on this: > > > def add_child_link(name, form_builder, association) > > object = > > form_builder > > .object.class.reflect_on_association(association).klass.new > > ... > > end > > > any help? > > > On Aug 4, 8:13 pm, Kleber Shimabuku <[email protected]> wrote: > >> I'm using nested_attributes and trying to implement the add/remove > >> fields on-the-fly throu ajax following Ryan Bates screencast about > >> Nested Model (#196) > > >> Doing this, it works fine: > > >> <%= f.fields_for :item_parts do |parts_form| %> > >> <p class="fields"> > >> <%= parts_form.label :part_id %> > >> <%= parts_form.select :part_id, Part.all.collect { |x| > >> [ x.title, x.id ]} %><br /> > >> <%= parts_form.hidden_field :_destroy %> > >> <%= link_to_remove_fields "remove", parts_form %> > >> </p> > >> <% end %> > > >> But when trying to pass the form fields to a partial like this, it > >> returns the following error: > > >> undefined method `part_id' for #<Part:0x00000103c4fed8> > > >> Extracted source (around line #3): > > >> 1: <p class="fields"> > >> 2: <%= f.label :part_id %> > >> 3: <%= f.select :part_id, Part.all.collect { |x| [ x.title, > >> x.id ]} %><br /> > >> 4: <%= f.hidden_field :_destroy %> > >> 5: <%= link_to_remove_fields "remove", f %> > >> 6: </p> > > >> The relevant code for the form calls the partial: > > >> <%= f.fields_for :item_parts do |parts_form| %> > >> <%= render 'part_fields', :f => parts_form %> > >> <% end %> > > >> partial: /part_fields.html.erb > > >> <p class="fields"> > >> <%= f.label :part_id %> > >> <%= f.select :part_id, Part.all.collect { |x| [ x.title, > >> x.id ]} > >> %><br /> > >> <%= f.hidden_field :_destroy %> > >> <%= link_to_remove_fields "remove", f %> > >> </p> > > >> So, any help on what I am doing wrong at this point? > > > -- > > 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- > > [email protected]. > > To unsubscribe from this group, send email to > > [email protected] > > . > > 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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

