Augmenting RESTful routes to make it more informative

Everyone knows that the trend is RESTful design. The simplicity of REST
means that if makes it easier to create bigger and more complex object

As a side effect, you have your RESTful routes/URLs, which reflect the
simplicity and consistency of the RESTful design. It is natural to model
your URLs after your objects, object hierarchies instead of actions (the
actions being the HTTP verbs).

RESTful route:

However, sometimes there are specific routes that don’t really fit into
RESTful way of doing things but are useful nonetheless. For example:


This url adds a prefix date to the event/events. Besides allowing the
to list all of the events of a specific date, it is also very
Having this additional piece of information in a google search result
sometimes be a timesaver (you can be more certain that it is the event
are searching, since the one you went to also happened on this date).

I don’t know if this date could be re-factored into a resource. The way
doing this is customizing the default events resource RESTful route to
this prefix.

Do you have such custom URLs in your app? Would you mind sharing your
thoughts and experiences?

Thanks in advance,


On Jul 30, 1:59 pm, “Marcelo de Moraes S.” [email protected]

Having this additional piece of information in a google search result can
Thanks in advance,


I think the only issue here is the use of forward slashes in the url.
If you could do this instead:


then this would work with the default map.resources behavior, and be
easily consumable by your show or index actions:

you should actually sanitize your input first, of course

@event = Event.find_by_date(Date.parse(params[:id]))


@events = Event.find_all_by_date(Date.parse(params[:id]))

Hope this helps?


Come to REST with Rails, Oct 4, 2008 in Austin, TX: - blog - training - Upcoming book, Rails for .NET Developers

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs