visionmedia / express-resource

Resourceful routing for Express
1.41k stars 140 forks source link

similarly named nested resources not provided for #37

Open jupiter opened 13 years ago

jupiter commented 13 years ago

This works:

    var photos = app.resource('photos', photosController)
      , posts = app.resource('posts', postsController)
      , photosComments = app.resource('comments', commentsController)
      , postsComments = app.resource('comments', commentsController);

    photos.add(photosComments);
    posts.add(postsComments);

However, I am not sure whether this will create problems down the line. Particularly because app.resources.comments will always be the last nested resource added, and the first one would not be accessible via app.resources.

dmmalam commented 13 years ago

Same issue here

piotrek-r commented 12 years ago

+1, just got to this point in my app

suprememoocow commented 11 years ago

I have two nested resources with the same name, but different controllers, and have been experiencing issue. I'm using the Resource class directly as a work-around for now, and it seems to work well....

 var photos = app.resource('photos', photosController)
      , posts = app.resource('posts', postsController)
      , photosComments = new Resource('comments', photoCommentsController, app)
      , postsComments = new Resource('comments', postCommentsController, app);

photos.add(photosComments);
posts.add(postsComments);
vjpr commented 11 years ago

+1

vjpr commented 11 years ago

Using the workaround when re-using a root level resource results in the load method for collections/links being run for /links.

/links
/collections/:id/links