map.resources route generation: :format and variables

In my config/routes.rb I have:
map.resources :discussions

But I can't generate proper URLs:

discussions_path(:format => :xml) -> /discussions?format=xml instead
of /discussions.xml

discussion_path(discussion, :format => :xml) -> "You have a nil object
when you didn't expect it! The error occurred while evaluating
nil.to_sym"

discussion_path(discussion, :format => :xml) -> /discussions/1?
format=xml instead of /discussions/1.xml

What gives here? Am I calling the route generation wrong? Is there
something I need to add to my routes? Can anyone give me an example of
how to generate the urls correctly?

discussions_path(:format => :xml) -> /discussions?format=xml instead
of /discussions.xml

Try formatted_discussions_path(:xml), etc.

Thanks, that solved it:

formatted_discussions_path(:format => :xml, 'foo' => 'bar') -> /
discussions.xml?foo=bar
formatted_discussion_path(:id => @discussions.first, :format => :xml,
'foo' => 'bar') -> /discussions/1.xml?foo=bar