I simplified the code a bit but get the same error (no more manual
tables). My application.dryml is now:
<!-- custom tag for item fields -->
<def tag="item-fieldlist">
<field-list fields="book, item_desc, cost, sell_price" param>
<book-view:>
<name-one complete-target="&@item"
completer="pick_book"/>
</book-view:>
</field-list>
</def>
<!-- Item form -->
<def tag="form" for="Item">
<form merge param="default">
<error-messages param/>
<item-fieldlist />
<div param="actions">
<submit label="Save" param/><or-cancel param="cancel"/>
</div>
</form>
</def>
<!-- Sale form -->
<def tag="form" for="Sale">
<form merge param="default">
<error-messages param/>
<field-list fields="contact,
old_sale_key,sale_date,sold_to,payment_type,
taxed,tax_exempt_no,sales_tax,amt_tender,
pct_discount, amt_credit, amt_shipping,
amt_due, items">
<contact-view:>
<name-one complete-target="&@sale"
completer="pick_contact"/>
</contact-view:>
<items-view:>
<hjq-input-many>
<item:>
<item-fieldlist />
</item:>
</hjq-input-many>
</items-view:>
</field-list>
<div param="actions">
<submit label="Save" param/><or-cancel param="cancel"/>
</div>
</form>
</def>
On Jun 30, 2:17 pm, oldlibmike <[email protected]> wrote:
> I appreciate all of the help!
>
> My application.dryml currently is using the hjq-input-many but I've
> tried with input-many as well.
> The Sales and Item forms now are defined as:
>
> <!-- custom tag for item fields -->
> <def tag="item-fieldlist">
> <table class="field-list">
> <tr>
> <th class="book-label">
> Book
> </th>
> <td class="book-view">
> <name-one:book complete-target="&@item"
> completer="pick_book"/>
> </td>
> </tr>
> </table>
> <field-list fields="item_desc, cost, sell_price" param/>
> </def>
>
> <!-- Item form -->
> <def tag="form" for="Item">
> <form merge param="default">
> <error-messages param/>
> <item-fieldlist />
> <div param="actions">
> <submit label="Save" param/><or-cancel param="cancel"/>
> </div>
> </form>
> </def>
>
> <!-- Sale form -->
> <def tag="form" for="Sale">
> <form merge param="default">
> <error-messages param/>
> <table class="field-list">
> <tr>
> <th class="contact-label">
> Contact
> </th>
> <td class="contact-view">
> <name-one:contact complete-target="&@sale"
> completer="pick_contact"/>
> </td>
> </tr>
> </table>
> <field-list fields="old_sale_key,sale_date,sold_to,payment_type,
> taxed,tax_exempt_no,sales_tax,amt_tender,
> pct_discount, amt_credit, amt_shipping,
> amt_due, items">
> <items-view:>
> <hjq-input-many>
> <item:>
> <item-fieldlist />
> </item:>
> </hjq-input-many>
> </items-view:>
> </field-list>
> <div param="actions">
> <submit label="Save" param/><or-cancel param="cancel"/>
> </div>
> </form>
> </def>
>
> I believe that I had this problem even before overriding the forms.
> Hopefully its something silly.
>
> My Sales model is:
> class Sale < ActiveRecord::Base
>
> hobo_model # Don't put anything above this
>
> fields do
> old_sale_key :integer
> sale_date :date
> sold_to :string, :name => true
> payment_type :string
> taxed :boolean
> tax_exempt_no :string
> sales_tax :dollars, :scale => 10, :precision => 2
> amt_tender :dollars, :scale => 10, :precision => 2
> pct_discount :integer
> amt_credit :dollars, :scale => 10, :precision => 2
> amt_shipping :dollars, :scale => 10, :precision => 2
> amt_due :dollars, :scale => 10, :precision => 2
> timestamps
> end
>
> belongs_to :contact
> has_many :items, :accessible => true, :dependent => :destroy
>
> default_scope :order => 'sale_date DESC'
>
> def sales_total
> items.sum(:sell_price)
> end
> ...
>
> My Items model is:
> class Item < ActiveRecord::Base
>
> hobo_model # Don't put anything above this
>
> fields do
> item_desc :string, :name => true
> cost :dollars, :scale => 10, :precision => 2
> sell_price :dollars, :scale => 10, :precision => 2
> timestamps
> end
>
> belongs_to :sale
> belongs_to :book
> ...
>
> Thanks again,
> Mike
>
> On Jun 30, 2:09 pm, Bryan Larsen <[email protected]> wrote:
>
>
>
> > I've never seen an error like that one before, so no glib answer this
> > time. Can you post some source I can try/look at?
>
> > Bryan
>
> > oldlibmike wrote:
> > > Hi Bryan,
> > > Progress! This approach works very well for the display and selection
> > > of the data. However, I cannot save the Master detail form at all.
> > > When I try to save, I get:
>
> > > NoMethodError in SalesController#update
>
> > > You have a nil object when you didn't expect it!
> > > The error occurred while evaluating nil.proxy_owner
> > > RAILS_ROOT: /Users/mike/Dropbox/bookem
>
> > > Application Trace | Framework Trace | Full Trace
> > > /Library/Ruby/Gems/1.8/gems/hobo-0.8.8/lib/hobo/
> > > accessible_associations.rb:8:in `prepare_has_many_assignment'
> > > /Library/Ruby/Gems/1.8/gems/hobo-0.8.8/lib/hobo/
> > > accessible_associations.rb:98:in `items='
> > > /Library/Ruby/Gems/1.8/gems/activerecord-2.3.2/lib/active_record/
> > > base.rb:2745:in `send'
> > > /Library/Ruby/Gems/1.8/gems/activerecord-2.3.2/lib/active_record/
> > > base.rb:2745:in `attributes_without_hobo_type_conversion='
> > > /Library/Ruby/Gems/1.8/gems/activerecord-2.3.2/lib/active_record/
> > > base.rb:2741:in `each'
> > > /Library/Ruby/Gems/1.8/gems/activerecord-2.3.2/lib/active_record/
> > > base.rb:2741:in `attributes_without_hobo_type_conversion='
>
> > > It looks like it is having context problems with which record to
> > > save.
> > > Any ideas?
>
> > > Thanks in advance!
> > > Mike
>
> > > On Jun 29, 5:57 pm, Bryan Larsen <[email protected]> wrote:
> > >> In general, JQuery widgets are usually fairly easy to integrate. For a
> > >> simple example, look at the datepicker in hobo-jquery: it's 4 lines of
> > >> cde in hobo-jquery.dryml and 3 in hobo-jquery.js.
>
> > >> Bryan
>
> > >>> I've also seem some very impressive jquery sortable/editable tables
> > >>> but I don't think they would be that easy to integrate into a hobo
> > >>> app.
> > >>> - Mike
> > >>> On Jun 29, 2:43 pm, Bryan Larsen <[email protected]> wrote:
> > >>>> Sorry, I understand the question now.
> > >>>> input-many uses a field-list rather than a form, and field-list is not
> > >>>> a
> > >>>> polymorphic tag. So in Hobo 1.0, there's no easy way around your
> > >>>> problem. hobo-jquery partially fixes this problem, and Tom has some
> > >>>> plans for Hobo >1.0.
> > >>>> But in the meantime, here's what I'd do, to keep everything as DRY as
> > >>>> possible.
> > >>>> <def tag="item-fieldlist">
> > >>>> define guts of form here...
> > >>>> </def>
> > >>>> <def tag="form" for="Item">
> > >>>> <item-fieldlist/>
> > >>>> </def>
> > >>>> <def tag="form" for="Sale">
> > >>>> <field-list:>
> > >>>> <items-view:>
> > >>>> <input-many>
> > >>>> <item-fieldlist/>
> > >>>> </input-many>
> > >>>> </items-view:>
> > >>>> </field-list:>
> > >>>> </def>
> > >>>> kevinpfromnm wrote:
> > >>>>> Yeah, I was wondering this too. It doesn't seem to use the same form
> > >>>>> code for the guts of the input-many... which makes sense since it's
> > >>>>> inside a form already but is annoying as it means possibly needing to
> > >>>>> code the form twice or once and include in the normal form.
> > >>>>> On Jun 29, 9:54 am, Bryan Larsen <[email protected]> wrote:
> > >>>>>> You seem to be on the right track. Can you post your code? Are you
> > >>>>>> putting your override in application.dryml?
> > >>>>>> oldlibmike wrote:
> > >>>>>>> I have a master detail relationship with Sales and Items.
> > >>>>>>> Sales has_many :items, :accessible => true, :dependent => :destroy
> > >>>>>>> Items belongs_to :sale
> > >>>>>>> When I display the sales edit form, there is a repeating group
> > >>>>>>> of :items that I can presumably edit, add or delete.
> > >>>>>>> I have tried to override the form for item and when editing an item
> > >>>>>>> all by itself, my overrides work.
> > >>>>>>> When the item appears on the sales edit form however, none of my
> > >>>>>>> overrides are there. The default edit form for item is displayed.
> > >>>>>>> How would I overrided the item form in the context of its parent
> > >>>>>>> Sale?
> > >>>>>>> Thanks in advance,
> > >>>>>>> Mike
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---