# Map.resources route generation: :format and variables

**URL:** <https://www.ruby-forum.com/t/map-resources-route-generation-format-and-variables/91996>\
**Category:** Rails\
**Created:** [April 14, 2007, 4:48am UTC](https://www.ruby-forum.com/t/map-resources-route-generation-format-and-variables/91996 "2007-04-14T04:48:47Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![tekhne](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/90ced4/32.png) [@tekhne](https://www.ruby-forum.com/u/tekhne)\
**Post date:** [April 14, 2007, 4:48am UTC](https://www.ruby-forum.com/t/map-resources-route-generation-format-and-variables/91996/1 "2007-04-14T04:48:47Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![tekhne](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/90ced4/32.png) [@tekhne](https://www.ruby-forum.com/u/tekhne)\
**Post date:** [April 14, 2007, 4:55am UTC](https://www.ruby-forum.com/t/map-resources-route-generation-format-and-variables/91996/2 "2007-04-14T04:55:49Z")

</div>

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

Try formatted\_discussions\_path(:xml), etc.

---

<div class="post-metadata">

**Author:** ![tekhne](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/90ced4/32.png) [@tekhne](https://www.ruby-forum.com/u/tekhne)\
**Post date:** [April 14, 2007, 5:05am UTC](https://www.ruby-forum.com/t/map-resources-route-generation-format-and-variables/91996/3 "2007-04-14T05:05:49Z")

</div>

On Apr 13, 9:54 pm, “Michael D. Ivey” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> 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
