RESTful rails customized resource mapping concerning edit action and monolithic template

Hi everyone, this is my first post.

I’m reorganizing a rails app to use RESTful routes. I have a users
controller that’s mapped RESTfully. Before the switch to REST I had
three separate actions to display a form to edit (on GET) and update
(on POST) personal info, email address, and password. While I’ve
managed to safely consolidate the update code for the three actions
into a single RESTful update action, I’m wondering what’s the easiest
way to do the following:

/users/1/edit/email
/users/1/edit/password
/users/1/edit/personal

I know that I could add this in routes.rb:
map.connect ‘users/:id/edit/:what’, :controller => ‘users’, :action =>
‘edit’
and handle which template is rendered in the controller like so:
def edit
if params[:what] == ‘email’
# Render email template
elsif params[:what] == ‘password’
# Render password template
elsif params[:what] == ‘personal’
# Render personal template
else
# Render generic edit template
end
end

But let’s say for some completely arbitrary reason I want actions in
the users controller named email password and personal that respond to
the above routes. Is there any way to incorporate this mapping within
map.resources?

I tried something like:
map.resources :articles, :new => {:preview => :post}
but with :edit…
map.resources :users, :edit {:email => :get, :password
=> :get, :personal => :get}
and it doesn’t work. I can understand why the former works and the
latter doesn’t but was wondering if it is in fact possible to
configure the desired route within map.resources. Or do you think the
present solution is sufficient (in that it is good/adequate practice)?

Generally speaking, how would you go about coding a RESTful controller
where a monolithic edit action (or more precisely template) doesn’t
fit the bill?

Thanks for all of your help.