pass parameter by link_to ruby on rails

Lilz picture Lilz · Dec 14, 2009 · Viewed 114.1k times · Source

I have this line of code:

<%= link_to "Add to cart", :controller => "car", :action => "add_to_cart", :car => car %>

when im in the add_to_cart method...how can i call the :car please?

@car = Car.new(params[:car])

That doesn't work because it says that I'm trying to stringify it.

I don't understand what's wrong; because I used this to create new users and it worked fine.

By the way, car is my car object.

Answer

juanm55 picture juanm55 · Aug 5, 2011

Try:

<%= link_to "Add to cart", {:controller => "car", :action => "add_to_cart", :car => car.id }%>

and then in your controller

@car = Car.find(params[:car])

which, will find in your 'cars' table (as with rails pluralization) in your DB a car with id == to car.id

hope it helps! happy coding

more than a year later, but if you see it or anyone does, i could use the points ;D