I finally got it working. I went to a local ruby on rails meetup and got some help on the issue.
I needed to use current_user.id and params[:product_id] for my parameters in my function. Thanks, Joe On Thursday, February 16, 2017 at 5:51:29 PM UTC-5, Walter Lee Davis wrote: > > > > On Feb 16, 2017, at 9:27 AM, Joe Guerra <[email protected] > <javascript:>> wrote: > > > > ok, still confused.... > > I've defined my parms like this... > > > > def cart_params > > # params.fetch(:cart, {}) > > params.require(:cart).permit(:user_id, :product_id ) > > > > > > end > > > > > > Have this in my controller. > > > > def add_to_cart > > > > product_id = params['id'] > > user_id = session['user_id'] > > @cart = Cart.new(user_id, product_id) > > > > end > > > > Try this: > > product_id = cart_params[:product_id] > user_id = session['user_id'] > @cart = Cart.new(user_id, product_id) > > Not clear what params[:id] would be set to in your example, but you went > out of your way to whitelist cart[product_id], so that's what I think you > should use. > > Walter > > > > > Not sure what to put in the show page, to pass these values to the > controller. > > > > I've got a few rails books, and not one of them cover this. > > > > > > > > On Thursday, February 16, 2017 at 12:18:38 AM UTC-5, Scott Jacobsen > wrote: > > Controller action methods do not take parameters. You get the parameters > from the `params` hash. Also, as was mentioned, do not send user_id as a > param. It is a security error, and you don't need to because you can access > the session in the controller: > > > > def add_to_cart > > product_id = params["product_id"] > > user_id = session["user_id"] > > @cart = Cart.new(user_id, product_id) > > ... > > end > > > > On Wednesday, February 15, 2017 at 5:11:02 PM UTC-7, Joe Guerra wrote: > > I am pretty close to figuring this out... > > > > I've got this in my product show page....I'm trying to pass user_id & > product_id to my products controller, add_to_cart method... > > > > > > <%= button_to 'Add to Cart', {:controller => "products", :action => > "add_to_cart", :user_id=> session[:user_id], :product_id => @id } , > :method=>:post %> > > > > on the controller... > > > > def add_to_cart(user_id, product_id) > > > > > > @cart = Cart.new(user_id, product_id ) > > # > > > > end > > > > I get the error, > > "wrong number of arguments (given 0, expected 2)" > > > > > > > > > > > > Any suggestions? > > > > Thanks, > > > > Joe > > > > > > > > > > > > > > > > -- > > You received this message because you are subscribed to the Google > Groups "Ruby on Rails: Talk" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to [email protected] <javascript:>. > > To post to this group, send email to [email protected] > <javascript:>. > > To view this discussion on the web visit > https://groups.google.com/d/msgid/rubyonrails-talk/f62d02c7-7059-425b-b810-cb28a8d8f392%40googlegroups.com. > > > > For more options, visit https://groups.google.com/d/optout. > > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/02dd1ea0-6de0-4c59-882a-e66def462ad5%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

