Forum: Ruby on Rails retrieving order quantity from form

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
5ef7330ef2624f4edf4bdc07d84ad8bb?d=identicon&s=25 Joe Smith (apple17)
on 2008-11-28 22:32
I have a shopping cart screen where I display my available item and all
it's description info and then want to have the user enter a quantity.
I show all my item fields, e.g.

<%= @item.item_id %>

Then I have a field defined



<%=  text_field 'shopping_cart_item' , 'quantity' %>

In my controller, how do I access this data?

I've tried many different ways, I just want to get this quantity first
to validate that it's a number, that it's less than the quantity
available, etc, then create a shopping cart record.

Help, I've spent a long time on this.
5ef7330ef2624f4edf4bdc07d84ad8bb?d=identicon&s=25 Joe Smith (apple17)
on 2008-11-29 00:52
So i changed my view to include

<% text_field_tag  'quantity' %>

and I changed my controller's first line to say

quantityordered = params[:quantity]

Is this correct?
Ef0db53920b243d6758c2f6b1306df0d?d=identicon&s=25 Steve Ross (cwd)
on 2008-11-29 00:53
(Received via mailing list)
On Nov 28, 2008, at 1:32 PM, Joe Smith wrote:

>
> --
You probably knew this, but you need a form. So maybe:

<% form_for(@cart) do |f| -%>
   <%= f.text_field :quantity %>
   <%= submit_tag('ok') %>
<% end -%>

That should get you a form. So, fire the thing up, watch your logs,
enter something into the quantity text box and what happens? You get a
params hash passed back to the controller. In that hash is:

:cart => { :quantity => "3" }

So in your controller, probably in the create method, just do
something like:

quantity = params[:cart]['quantity']

But if all you are doing is validating, you should try to do this in
the model anyhow.

Hope this helps.
5ef7330ef2624f4edf4bdc07d84ad8bb?d=identicon&s=25 Joe Smith (apple17)
on 2008-11-29 00:53
It seems to 'work' (doesn't abort), but when I store it in my database I
have a null value
E3640176765dae2465d33ef6eb114691?d=identicon&s=25 Bcp (Guest)
on 2008-11-30 09:02
(Received via mailing list)
Look at the Dev logs, see the params hash and use that in controller.

Http://www.rubyplus.org
Free Ruby & Rails screencasts


On Nov 28, 2008, at 3:52 PM, Joe Smith <rails-mailing-list@andreas-
This topic is locked and can not be replied to.