You are getting nil object. That's the problem. Put a debugger breakpoint on Document.find(params[:document_id])
see if you are getting a @document. Ajax submit is special. Also, check params[:document_id] And, go from there. -Ray On Sep 28, 2010, at 12:17 PM, tjg wrote: > Thanks, Ray, but I still seem to be lost in what Hobo is expecting > inside a webmethod that is using hobo_ajax_response to refresh a > <table-plus>. Can't seem to get past this: > > NoMethodError (undefined method `parcels' for nil:NilClass): > app/views/taglibs/application.dryml:299:in `parcels_table_part' > > My current models (standard has_many :through setup): document, > document_parcel, parcel: > > class Document < ActiveRecord::Base > hobo_model > fields do > name :string > end > has_many :document_parcels, :accessible => true > has_many :parcels, :through => :document_parcels > end > > class DocumentParcel < ActiveRecord::Base > hobo_model > fields do > timestamps > end > belongs_to :document > belongs_to :parcel > end > > class Parcels < ActiveRecord::Base > hobo_model > fields do > lot :string > end > has_many :document_parcels > has_many :documents, :through => :document_parcels > end > > My application.dryml extends the form for a document to include a > <table-plus> for the parcels: > > <table-plus with="&@document.parcels" part="parcels-table" > fields="id, lot"> > <empty-message:>No parcels related to this document.</empty- > message:> > </table-plus> > > Outside the extended form, I have controls to add a specific parcel to > the document: > <form web-method="addparcel" method="POST" update="parcels-table"> > Lot: <input id="lot" type="text" name="lot"></input> > <submit label="Search"/> > </form> > > In my documents_controller.rb, I have a webmethod named "addparcel"; > > def addparcel > hobo_ajax_response do > @document = Document.find(params[:document_id]) > # Logic here to find the parcel identified by params[:lot] > # Logic here to add the found parcel to the document_parcels join > table (How do I do this?) > > # How to satisfy Hobo's search for a 'parcels' method on > @document? > end > end > > When I search for a specific parcel by specifying a "lot", I can see > the log file reporting that it's firing through "addparcel", but Hobo > continually reports this: > > NoMethodError (undefined method `parcels' for nil:NilClass): > app/views/taglibs/application.dryml:299:in > `parcels_table_part' > > Having located the @document, how do I satisfy Hobo's search for the > 'parcels' method???? > > Been going in circles now for days.... > Thanks, > TIm > > -- > You received this message because you are subscribed to the Google Groups > "Hobo Users" 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/hobousers?hl=en. > -- You received this message because you are subscribed to the Google Groups "Hobo Users" 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/hobousers?hl=en.
