2010-09-14 11 views
8

Venendo da rotaie 2, la maggior parte dei miei controllori avrebbero queste righe:Rails 2 to Rails 3, la verifica del metodo nei controller è andata?

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'} 

Dopo la migrazione a Rails 3, ottengo l'avvertimento disapprovazione che mi dice che questi sono stati rimossi. So che posso ottenere qualche plugin o qualsiasi altra cosa per usarli ancora, ma la mia domanda è che ne ho davvero bisogno? Rails 3 applica i metodi di base per impostazione predefinita? Sembra che dovrebbe se non lo fa, mi sono sempre sentito infastidito dover scrivere queste righe più e più volte ...

risposta

9

Non è necessario verificare il metodo di richiesta se si utilizzano percorsi REST. L'azione del controller non sarà raggiunta semplicemente con il metodo di richiesta errato.

Ad esempio, se si tenta di raggiungere/users/create? Name = my_name tramite get, la richiesta raggiungerà l'azione show con i params [: id] = create, e ciò fallirà.