Hmm. I have just realized that my model is incorrect and both document
and parcel should be 'has_and_belongs_to_many' associations (since a
document can have many parcels, and the same parcels might be
referenced by many other documents). Nothing like a weekend to help
see this.

But, still lost a little in what the Hobo Ajax response should be from
the document_controller's addparcel method, if anyone can shed any
light on how to use hobo_ajax_response.

Tim



On Sep 27, 10:11 am, tjg <[email protected]> wrote:
> Merci, François!
>
> While your suggestion made some sense, it is the reverse situation I
> need. I am viewing the parent document, and I need to add child
> parcels to the document (and not pick the owner of the parcel) These
> parcels are represented by property descriptions, which would include
> "lot, block, plan" designators. (My simplification to start with uses
> only Lots). There are 10 000 parcels in the database, and users must
> ALREADY know the parcel designation in order to add it to the
> document. The best example is you drafting a mortgage document for
> which you already know the related property(ies).
>
> So, I cannot present the user with a list of possible parcels. There
> are too many, and that wouldn't be permitted anyway.
>
> I found myself needing to call a non-REST controller method (i.e.
> addparcel). I managed to get Hobo to find the method by including
> "webmethod :addparcel" at the top of the controller. But, I was left
> puzzled as to what/how to respond within the controller, given I just
> needed to refresh the <table-plus> of parcels. While I found pure
> Rails examples of what to do (using an .rjs template), I could not
> determine what to do from a Hobo point of view. "hobo_ajax_response"
> isn't well documented, and I recall a note to say that "webmethod"
> might be removed one day.
>
> What should I be trying to respond with after having located the
> specified parcel and added to document.parcels?
>
> Thanks,
> Tim
>
> On Sep 25, 4:24 pm, François Beausoleil
>
> <[email protected]> wrote:
> > Hi!
>
> > You want to look into <name-one/> and using :accessible => true on the
> > has_many.
>
> > You might want to look at the agility 
> > tutorial:http://cookbook.hobocentral.net/tutorials/agility#associations
>
> > Hope that helps!
> > François
>
> > On 25 sep, 12:32, tjg <[email protected]> wrote:
>
> > > Hi all;
>
> > > I'm sure I'm not the first Hobo-er to try this, but I am looking for
> > > guidance, since a number of hours have already ticked by and I am
> > > going in circles. I am, by no means, proficient with Hobo (yet), and
> > > certainly not with Ajax, but here's what I'm trying to pull off:
>
> > > A document shows a table of related parcels. When viewing a document,
> > > I want to seach for an existing parcel and add it the table of
> > > parcels, without leaving the page (Ajax).
>
> > > I have:
>
> > > class Document < ActiveRecord::Base
> > >    hobo_model
> > >    fields do
> > >         name    :string
> > >    end
> > >    has_many :parcels
> > > end
>
> > > class Parcels < ActiveRecord::Base
> > >    hobo_model
> > >    fields do
> > >       lot        :string
> > >       block   :string
> > >    end
> > >    belongs_to    :document
> > > end
>
> > > When viewing a document, I have a table-plus that lists all the
> > > parcels related to the document:
>
> > > <table-plus with="&[email protected]" part="parcels-table" fields="id,
> > > lot">
> > > </table-plus>
>
> > > Under this, I have a form by which I would like to search for a parcel
> > > by lot number, and (if the parcel exists) add the parcel to the
> > > document:
>
> > > <form action="addparcel" method="GET" update="parcels-table"
> > > message="Searching...">
> > >         Lot: <input id="parcel[lot]" type="text" 
> > > name="parcel[lot]"></input>
> > >         <submit label="Search"/>
> > > </form>
>
> > > My documents_controller.rb has the 'addparcel' action defined:
>
> > >   def addparcel
> > >         @document = Document.find(params[:document_id])
> > >         @parcel = Parcel.find(params[:lot])
>
> > >         #Relate the parcel to the document
> > >         @document.parcels << @parcel unless @parcel.nil?
>
> > >         #What do I need to do here to get the document.parcels table to
> > > refresh?
> > >         #Something like this?
>
> > >         respond_to do |format|
> > >             format.html
> > >             format.js
> > >         end
>
> > >    end
>
> > > Am I on the right track, here, given this is blatant hacking trying to
> > > figure out which was is up?
>
> > > For the life of me, I cannot get past Rails bailing with this error:
>
> > > ActionController::UnknownAction (No action responded to 1-new-
> > > document. Actions: access_denied, addparcel,
> > > authenticated_user_from_cookie, authorized?, create,
> > > create_auth_cookie, create_for_package, destroy, edit, ht,
> > > login_from_cookie, login_required, model, new, new_for_package,
> > > redirect_back_or_default, show, store_location, and update):
>
> > > The action exists, but what is missing?
>
> > > Many thanks in advance,
> > > 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.

Reply via email to