2009-12-14 9 views
60

tengo esta línea de código:parámetro pase por el rubí en los carriles link_to

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

cuando estoy en el método add_to_cart ... ¿Cómo puedo llamar al: coche, por favor?

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

Eso no funciona porque dice que estoy tratando de escribirlo.

No entiendo lo que está mal; porque utilicé esto para crear nuevos usuarios y funcionó bien.

Por cierto, el coche es mi objeto de automóvil.

Respuesta

127

Probar:

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

y luego en su controlador

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

cual, encontrarán en su tabla de "autos" (como con r pluralización ails) en su DB un automóvil con id == a car.id

Espero que ayude! feliz de codificación

más de un año después, pero si lo ves o alguien lo hace, podría usar los puntos; D

+0

Pero, ¿qué pasa si el parámetro depende, digamos, del valor de una entrada, que puede ser de naturaleza dinámica? – Sebastialonso

2

Probablemente no quiera pasar el objeto car como parámetro, intente simplemente pasar car.id. ¿Qué obtienes cuando inspect(params) después de hacer clic en "Agregar al carrito"?

+0

el problema con esto es que no tengo estos coches guardados en cualquier lugar ya que soy raspando la información de la web y no la estoy almacenando en ninguna parte ... por lo que la identificación no existe todavía y, aparte de eso, sería inútil:/ – Lilz

+0

Una vez más, ¿qué obtienes cuando inspecciona (params)? – bensie

+1

params [: producto] .inspect volvió vacío "" – Lilz

6

Tal vez intente esto:

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

Pero realmente me gustaría ver dónde está el objeto del coche es cada configuración de esta página (es decir, el resto de la vista).

69

Lo anterior no funcionó para mí, pero este hicieron

<%= link_to "text_to_show_in_url", action_controller_path(:gender => "male", :param2=> "something_else") %>

Cuestiones relacionadas