2011-05-01 5 views
2

Comment puis-je savoir quelle méthode HTTP a été utilisée pour rendre la page en cours?Accéder à la méthode HTTP à partir de la vue

Par exemple, voici une situation:

# button that only links if the record is 'new' 
<%= link_to_unless(params[:controller] == "customers" && params[:action] == "new"), ... %> 

Les travaux ci-dessus bien quand la forme dit customers/new mais pas aussi bien si l'utilisateur passe un défaut nouvelle forme et au lieu nous obtenons new rendus par l'action create. Dans ce cas, params[:action] est vide et la seule façon de dire que le lien ci-dessus doit encore être lié est que la méthode HTTP est POST.

Comment puis-je m'assurer que le ci-dessus se déclenche également lorsque l'action de création échoue et rend le nouveau?

Répondre

2

Vous pouvez utiliser request.request_method dans votre contrôleur.

0

Pourriez-vous le faire

@object_that_was_meant_to_be_created.new_record? 
+0

Je suis plus intéressé par le cas général, où nous voulons savoir exactement s'il s'agit de 'GET',' POST', 'UPDATE', etc. – sscirrus

Questions connexes