retrieving order quantity from form

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.

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.

It seems to 'work' (doesn't abort), but when I store it in my database I have a null value

Look at the Dev logs, see the params hash and use that in controller.

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