Hi all

I'm working on an app at the moment and I'm trying to think of the
most RESTful way of implementing one of the key parts of the site.

Some advice on the best approach would really help.

To give you an example, I have one model but it's split into three
different categories: lost, found, broken.

Users can browse them by category but never all together.

My initial reaction is simply to have one index and determine the
category by parameter:

www.mypage.com/items?category=lost

This seems like the DRYest option.

This would mean one of the categories should be the 'default' though,
if no parameters were specified or if they were invalid.

But each category is just as relevant as the others so this option
isn't great.

After thinking about it, these are separate indexes so my next
reaction was to have four controllers:

items ( new, create, edit, update and destroy)
found_items ( index )
lost_items ( index )
broken_items ( index )

This would give really clear routes and urls but it means creating
four separate controllers - seems like overkill no?

The third option I've considered is to name three collections in my
routes and add three actions to my items controller:

map.resources :items, :collection => { :lost => :get, :found
=> :get, :broken => :get }

def lost
  @items = Item.lost
end

...and so on.

Again, quite clear routes and descriptive urls but I'm under the
impression that this is a less RESTful approach.

Any thoughts?

Thanks

Gavin



--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to