[bug?] rails form_for

i think there is a bug in how rails automatically detects if a
form_for should be a post or put when the controller is in a
namespace. can someone confirm this, or am i doing something wrong?

specs

windows xp
ruby 1.8.6
rails 2.1.1
mysql 5

in the terminal

rails bug_test
cd bug_test

edit database.yml

ruby script/generate model User name:string
ruby script/generate controller admin/site_users
rake db:migrate

config/routes.rb

ActionController::Routing::Routes.draw do |map|
map.resources :users
map.namespace :admin do |admin|
admin.resources :site_users
admin.resources :roles
end
end

controllers/admin/site_users_controller.rb

class Admin::SiteUsersController < ApplicationController
def index
@users = User.find(:all)
end
def new
@user = User.new
end
def edit
@user = User.find(params[:id])
end
def create
@user = User.new(params[:user])
respond_to do |format|
if @user.save
flash[:notice] = ‘User was successfully created.’
format.html { redirect_to( admin_site_users_path )}
format.xml { render :xml => @user, :status
=> :created, :location => @user }
else
flash.now[:error] = “We couldn’t set up that account.”
format.html { render :action => “new” }
format.xml { render :xml => @user.errors, :status
=> :unprocessable_entity }
end
end
end
end

views/admin/site_users/edit.html.erb

Editing a user erb

<%= error_messages_for :user %>

<% if @user.respond_to?(:new_record?) && @user.new_record? %> ERROR => NEW RECORD <% else %> OLD RECORD => form_for method should be put <% end %>

<% form_for(:user, :url => admin_site_user_path ) do |f| %>

<%= label_tag 'name' %> <%= f.text_field :name %>

<%= f.submit 'Update' %>

<% end %>