2010-10-30 6 views
11

Lorsqu'une requête POST est traitée, params [: id] renvoie la valeur de "id" stockée dans le formulaire qui a été posté.Comment obtenir les paramètres d'URL dans Rails?

Cependant, je veux obtenir la valeur stockée dans l'URL (chaîne de requête).

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 

Alors, comment obtenir la valeur de l'URL dans une demande POST?

Répondre

11

C'est exactement la même chose que les paramètres GET. Pour prouver que, j'ai un formulaire de recherche que les messages un paramètre à la même action:

def invite 

    if request.post? 

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

    end 
end 

Et dans la vue - peut-être votre problème vient de ce

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