Error using named routes with resource routes?

I have a simple app – essentially just restful_authentication at this
point. I have the following in my routes.rb:

map.resources :attendees
map.resource :sessions

nice named routes

map.signup ‘/signup’, :controller => ‘attendees’, :action =>
‘new’
map.login ‘/login’, :controller => ‘sessions’, :action => ‘new’
map.logout ‘/logout’, :controller => ‘sessions’, :action =>
‘destroy’
map.activate ‘/activate/:activation_code’, :controller =>
‘attendees’, :action => ‘activate’

My tests all work OK, and functionally this seems to be working…I
can signup, activate, log in and log out.

When I use the named routes I created (eg localhost/signup) I do get
the correct page routed, but I also get an error in the log:

/!\ FAILSAFE /!\ Sat Nov 07 17:09:34 -0800 2009
Status: 500 Internal Server Error
PROPFIND, accepted HTTP methods are get, head, put, post, delete,
and options
C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.4/lib/
action_controller/request.rb:35:in `request_method’
(etc)

I don’t get that if I use the resource route (/attendees/new).

The easy solution is not to use named routes I guess, but I’d rather
keep a few clean/sparse routes for embedding in emails. I’m assuming
this is some conflict with rest routes and named routes…but that’s
just speculation.

Does anyone know why my named routes are using a propfind method
instead of get? I know I can add this to the verbs that webrick (and
mongrel) understand, but since this is unexpected behavior I’d rather
fix it properly.

Joe

Hi Joe

map.resource :sessions

Dont know about the error But is it

map.resource :sessions or
map.resource :session ?

Sijo

On Nov 7, 8:35 pm, Joe [email protected] wrote:

map.logout ‘/logout’, :controller => ‘sessions’, :action =>
/!\ FAILSAFE /!\ Sat Nov 07 17:09:34 -0800 2009
Status: 500 Internal Server Error
PROPFIND, accepted HTTP methods are get, head, put, post, delete,
and options
C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.4/lib/
action_controller/request.rb:35:in `request_method’
(etc)

What this is is Frontpage drool. IE has a habit of trying to treat
everything like a WebDAV server, which is why it’s sending a PROPFIND
request. There’s a tutorial around someplace about routing unsupported
methods to an error page - you may want to try that. Otherwise, it’s
pretty much harmless.

–Matt J.

Thanks Matt, but in this case I’m actually using google chrome for my
browser (I get the same error with firefox FWIW).