Rails3 button_to está chamando a ação POST, tentando chamar a ação PUT
Eu tenho um botão_para que eu quero executar uma ação PUT (há apenas uma coisa que pode ser atualizada sobre esse recurso - ele será atualizado como 'reconhecido', portanto não há outros campos de formulário associados ao disparo da ação).
Isto está em minha opinião (o controlador é fornecido explicitamente porque o botão está em uma visão que pertence a outro controlador):
<%= button_to "Acknowledged", :controller => 'practice_sessions', :id => @practice_session.id, :method => :put %>
No meu arquivo de rotas, o recurso foi declarado como um recurso repousante:
resources :practice_sessions
O controlador para este recurso possui uma ação de criação e atualização, e o botão_para acima chama a ação de criação. Eu quero que ele chame a ação de atualização.
Isso ocorre através do log antes de a ação de criação ser acionada:
Started POST "/practice_sessions?id=21&method=put" for 127.0.0.1 at 2010-11-17 08:52:46 +0000
Processing by PracticeSessionsController#create as HTML
Parameters: {"authenticity_token"=>"1EW0IlI38d0f4wST5azrCEZVZPfih7i0UvCGSF7eqbc=", "id"=>"21", "method"=>"put"}