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.

Reply via email to