Form works with POST but not PUT

I have a form that's stopped working. It calls a PUT action - the route is defined thus (other routes omitted for clarity):

  map.namespace :admin do |admin|     admin.resources :resources, :member => { :update_bundle => :put }   end

And it shows up in rake routes as

update_bundle_admin_resource PUT /admin/resources/:id/update_bundle {:action=>"update_bundle", :controller=>"admin/resources"}

So far so good. The problem seems to be with my form - i can't get it to make a put request. Initially it was like this:

<form action="<%= update_bundle_admin_resource_path(@resource) %>" method="post"> <input type="hidden" name="_method" value="put" />

Looking in my logs, it's generating this request:

Processing ResourcesController#4557 (for 127.0.0.1 at 2008-10-10 10:22:44) [GET]   Parameters: {"action"=>"4557", "id"=>"update_bundle", "controller"=>"admin/resources"}

I tried changing it to a form_tag (which should just generate the same html as i already have):

<% form_tag update_bundle_admin_resource_path(@resource), :method => :put do -%>

But i get the same result. Can anyone see if i'm doing something wrong?

Like i said, this used to work fine, but we just did a big branch-swapping deploy and maybe something somewhere is screwing it up. I have no idea what though.

thanks, max

Oh, and i forgot to mention - if i change it to use POST instead of PUT then everything works fine. But i'd rather find out why it's breaking.