2011-03-13 12 views
7

Bien, me estoy volviendo loco intentando que esto funcione. Quiero pasar la información que necesito a la nueva acción y no está funcionando. Estoy en una vista y utilizando link_to con un camino para crear un nuevo registro:Rails 3 pasando el parámetro al nuevo método

<%= link_to "New", new_libation_path(:xid=> 123) %> 

Mi tabla de rutas tiene: recursos: libaciones

Y en el libation_controller tengo mi nueva acción. ..

def new 
    puts params[:xid] #This is nil! 
    ... 

¿Qué estoy haciendo mal? Tal vez debería googlear cómo usar params en rieles ...

Respuesta

19

Esto se ve bien. ¿La cadena de consulta en la URL aparece como debería? Comprobar en su consola de rieles que app.new_libation_path(:xid => 123) está volviendo la URL correcta, y que este URL está apareciendo en el marcado HTML:

ruby-1.9.2-p136 :001 > app.new_user_path(:test => 'test') 
=> "https://stackoverflow.com/users/new?test=test" 

(a partir de una aplicación que tenía a mano)

+1

Aaaargh! Gracias por el consejo de usar consola. Por supuesto que funcionó. ¡Rápidamente me señaló el hecho de que había estado modificando el archivo de vista ** incorrecto ** (pero similar)! Ahora voy a conseguir azotes ... – rtfminc

+0

¡Jaja, nos pasa a todos! Encantado de ayudar. Ahora [ve a comprar un patito de goma] (http://compsci.ca/blog/rubber-ducks-help-best-with-computer-science/). –

Cuestiones relacionadas