2010-09-14 4 views
8

venant de rails 2, la plupart de mes contrôleurs auraient ces lignes:Rails 2 à Rails 3, vérification de la méthode dans les contrôleurs disparu?

verify :method => :post, :only => :create, :render => {:text => '405 HTTP POST required', :status => 405}, :add_headers => {'Allow' => 'POST'} 
verify :method => :put, :only => :update, :render => {:text => '405 HTTP PUT required', :status => 405}, :add_headers => {'Allow' => 'PUT'} 
verify :method => :delete, :only => :destroy, :render => {:text => '405 HTTP DELETE required', :status => 405}, :add_headers => {'Allow' => 'DELETE'} 

Après la migration vers Rails 3, je reçois l'avertissement deprecation me disant que ceux-ci ont été supprimés. Je sais que je peux obtenir un plugin ou quoi que ce soit pour toujours les utiliser, mais ma question est-ce que je dois vraiment plus? Est-ce que les rails 3 appliquent les méthodes de base par défaut? On dirait que si ça ne marche pas, je me suis toujours senti ennuyé d'avoir à écrire ces lignes encore et encore ...

Répondre

9

Vous n'avez pas besoin de vérifier la méthode de requête si vous utilisez des routes REST. L'action du contrôleur ne sera tout simplement pas atteinte avec la mauvaise méthode de requête. Par exemple, si vous tentez d'atteindre/users/create? Name = my_name via get, la requête atteindra l'action show avec les paramètres [: id] = create, et cela échouera.

Questions connexes