# Map.resources and link confusion

**URL:** <https://www.ruby-forum.com/t/map-resources-and-link-confusion/123713>\
**Category:** Rails\
**Created:** [December 19, 2007, 11:03pm UTC](https://www.ruby-forum.com/t/map-resources-and-link-confusion/123713 "2007-12-19T23:03:21Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![jawosis](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/f04885/32.png) [@jawosis](https://www.ruby-forum.com/u/jawosis)\
**Post date:** [December 19, 2007, 11:03pm UTC](https://www.ruby-forum.com/t/map-resources-and-link-confusion/123713/1 "2007-12-19T23:03:21Z")

</div>

I have:

class Booking \< ActiveRecord::Base  
belongs\_to :guest  
end

class Guest \< ActiveRecord::Base  
has\_many :bookings  
end

map.resources :guests, :has\_many =\> [:bookings]

bookings\_comtroller:

before\_filter :load\_user

def load\_user  
@guest = Guest.find(params[:guest\_id])  
end

So I can do something like:

[http://127.0.0.1:3000/guests/5/bookings/9](http://127.0.0.1:3000/guests/5/bookings/9)

…works fine.

But now

[http://127.0.0.1:3000/bookings](http://127.0.0.1:3000/bookings)

does not work any longer!

ActiveRecord::RecordNotFound in BookingsController#index  
Couldn’t find Guest without an ID

What am I missing?

–  
Jochen

---

<div class="post-metadata">

**Author:** ![jawosis](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/f04885/32.png) [@jawosis](https://www.ruby-forum.com/u/jawosis)\
**Post date:** [December 20, 2007, 8:31am UTC](https://www.ruby-forum.com/t/map-resources-and-link-confusion/123713/2 "2007-12-20T08:31:24Z")

</div>

That’s because u have defined nested routes and it will not handle  
that URL. It needs the parent id. Do rake routes to get the list of  
URL helper methods. U need to define route that will handle it.

Sent from my iPhone

On Dec 19, 2007, at 2:02 PM, Jochen K. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)
