Error using named routes with resource routes?

1 view
Skip to first unread message

Joe

unread,
Nov 7, 2009, 8:35:36 PM11/7/09
to Ruby on Rails: Talk
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.

Joe

unread,
Nov 8, 2009, 7:04:24 PM11/8/09
to Ruby on Rails: Talk
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

Sijo k g

unread,
Nov 9, 2009, 1:13:36 AM11/9/09
to rubyonra...@googlegroups.com
Hi Joe

>
> map.resource :sessions

Dont know about the error But is it
map.resource :sessions or
map.resource :session ?

Sijo
--
Posted via http://www.ruby-forum.com/.

Matt Jones

unread,
Nov 9, 2009, 9:26:31 AM11/9/09
to Ruby on Rails: Talk


On Nov 7, 8:35 pm, Joe <j...@crimescenechoppers.com> wrote:
> 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)
>

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 Jones

Joe

unread,
Nov 9, 2009, 9:33:03 AM11/9/09
to Ruby on Rails: Talk
Thanks Matt, but in this case I'm actually using google chrome for my
browser (I get the same error with firefox FWIW).
Reply all
Reply to author
Forward
0 new messages