Thanks, Conrad.  I did the "depot" tutorial in the Agile Rails book
3rd ed, and the whole pod/screencast on learningrails.com.  Both are
light on forms.  I just downloaded the 3 Mastering Rails Form
screencasts, and am going through the first--it's *excellent*.  Just
knowing about debug params is worth its weight in gold :)  I'll go
through the first one, try my code again, then if I'm still having
trouble, repost.  Thanks, Colin & Eric for your patience with this
noob :)

On Sep 13, 4:01 pm, Conrad Taylor <[email protected]> wrote:
> On Sun, Sep 13, 2009 at 12:30 PM, Dudebot <[email protected]> wrote:
>
> > Sorry for this basic noob question:
>
> > I have an "Item" class in my models which corresponds to a SQL table,
> > and a "Cart" class and a "CartItem" class which do not.  The Item
> > class does not have an amount object, which is transitory, so I've put
> > this amount object in my CartItem class:
>
> > class CartItem
>
> >  attr_reader :item, :amount
>
> >  def initialize( item )
> >   �...@item = item
> >  end
>
> >  def set_amount( amount )
> >   This.amount = amount
> >  end
>
> > end
>
> > I have a list of items in a viewer form, and I'd like to pass
> > associated amount to my CartItem when the user hits the "Add to Cart"
> > button. I've tried many variations of text_field and text_field_tag
> > in:
>
> >        <% @items.each do |item| %>
> > ...
> >                <%= text_field( :amount , :action => 'set_amount( :amount
> > )', :id =>
> > item )%>
> >                <%= button_to "Add to Cart" , :action => 'add_to_cart', :id
> > => item
> > %>
> > ...
> >        <% end %>
>
> > I know the text_field up there is severely mangled and won't work--but
> > it's an example of the 2000th try, the last several hundred out of
> > pure desperation.  Can anyone help with the proper syntax for the
> > text_field in the .html.emb file?
>
> > The add_to_cart call with the button is working:
>
> >  def add_to_cart
> >    item = Item.find( params[ :id ] )
> >   �...@cart = find_cart
> >   �[email protected]_item( item )
> >  end
>
> > Many TIA,
> > Craig
>
> The text_field view helper generates an HTML input tag.  Thus, there's no
> attribute on the input tag called 'action' in the X/HTML spec.
> Next, when to use text_field and text_field_tag?
>
> text_field:        if you're creating or updating a model.
> text_field_tag:  if you're NOT creating or updating a model.
>
> Thus, I'm guessing that you're simply updating a session variable when
> you're performing the
>
> @cart.add_item( item )
>
> If this is the case, then you should use text_field_tag within a form_tag.
>  You can see
> example usage of 'form_tag' and 'text_field_tag' here:
>
> http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.h...
>
> If you are in fact creating or updating a model, then you should use
> test_field within a form_for.
> You can see examples usage of 'form_for' and 'text_field' here:
>
> http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html...
>
> Finally, I would recommend getting access to a copy of "Agile Web
> Development with Rails 3rd ed"
> and/or obtaining the really great screencasts on the subject, "Mastering
> Rails Form",
>
> http://www.pragprog.com/screencasts/v-rbforms/mastering-rails-forms
>
> Good luck,
>
> -Conrad
>
>
>
>
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to