2010-10-30 67 views
11

Cuando se procesa una solicitud POST, params [: id] devuelve el valor de "id" almacenado en el formulario que se publicó.¿Cómo obtener los parámetros de URL en Rails?

Sin embargo, quiero obtener el valor almacenado en la url (cadena de consulta).

def some_action 
    id = params[:id] # Gets id from here: /some_action?id=[VALUE] only when request.post? is false 
    if request.post? 
    # Do some stuff, can't get the id value from the url 
    ... 
end 

Entonces, ¿cómo obtener el valor de la URL en una solicitud POST?

Respuesta

11

es lo mismo que los parámetros GET. Para demostrar esto, tengo un formulario de búsqueda que los puestos de un parámetro para la misma acción:

def invite 

    if request.post? 

     search= [params[:search]] 
     #... 

    end 
end 

Y en la vista - tal vez su problema proviene de esta

<% form_tag do %> 
     <%= text_field_tag :search, params[:search] %> 
     <%= submit_tag "Rechercher" %> 
<% end %> 
Cuestiones relacionadas