form_for won't generate the correct action path

I'm really baffled since this should be very textbook:

<% form_for :person, :url => { :controller => "people", :action => "update", :id => @person.id } do |form| %>

should produce

<form action="/people/3/update" ...>

but instead it produces

<form action="/people/3" ...>

What's going on? I really thought I could just do

<% form_for :person, :url => { :action => "update", :id => @person.id } do |form| %>

but that produces the same result.

Hi Richard,

Thanks, Bill. I checked out the documentation on REST and it makes much better sense now.