/archives/:year/:month/:day routes with REST?

3 views
Skip to first unread message

Douglas Shearer

unread,
May 29, 2007, 7:40:45 AM5/29/07
to rubyonra...@googlegroups.com
Hi folks.

I'm looking to emulate a feature I have implemented in Rails routing of
old, where the above URL could be used as so...

By year: http://douglasfshearer.com/blog/2007

By month: http://douglasfshearer.com/blog/2007/5

By Day: http://douglasfshearer.com/blog/2007/5/28

I've had a few attempts at this, but have so far failed to figure it
out.

Any suggestions?

--
Posted via http://www.ruby-forum.com/.

Rob Sanheim

unread,
May 29, 2007, 7:48:54 AM5/29/07
to rubyonra...@googlegroups.com
I'd recommend against this for usability reasons and seo reasons...but
if you are really set on it there is an example in the agile book.
Though that uses traditional routing -- restful may be a bit harder...

The domain.com/blog/id-permalink style makes much more sense and will
get your more google-fu.

- rob


--
http://robsanheim.com
http://seekingalpha.com

Douglas Shearer

unread,
May 29, 2007, 8:27:38 AM5/29/07
to rubyonra...@googlegroups.com
Rob Sanheim wrote:

> The domain.com/blog/id-permalink style makes much more sense and will
> get your more google-fu.

I already have this implemented in old style routes, with named
permalinks for my posts.

The dated archive is to save having to paginate through 100s of posts,
and to make searching a little easier.

jemminger

unread,
May 29, 2007, 11:41:20 AM5/29/07
to Ruby on Rails: Talk
why REST? will you be doing CRUD operations on them? if it's just an
archive, then isn't the routing you have already sufficient?


On May 29, 8:27 am, Douglas Shearer <rails-mailing-l...@andreas-s.net>
wrote:

Douglas Shearer

unread,
May 29, 2007, 11:48:57 AM5/29/07
to rubyonra...@googlegroups.com
Jeff Emminger wrote:
> why REST? will you be doing CRUD operations on them? if it's just an
> archive, then isn't the routing you have already sufficient?

A very good point.

I guess I just wondered if it was at all possible.

jemminger

unread,
May 29, 2007, 12:01:17 PM5/29/07
to Ruby on Rails: Talk
if you still want REST, (and i'm a rest noob so this may be very
wrong), perhaps something like

mydomain.com/blog/year/2007/month/5/day/28


On May 29, 11:48 am, Douglas Shearer <rails-mailing-l...@andreas-

Douglas Shearer

unread,
May 29, 2007, 12:50:06 PM5/29/07
to rubyonra...@googlegroups.com
Jeff Emminger wrote:
> mydomain.com/blog/year/2007/month/5/day/28

That would work, using nested resources. Have decided I was being
stupid, and have re-implemented my map.connect.

Ta.

Jeff

unread,
May 29, 2007, 1:32:58 PM5/29/07
to Ruby on Rails: Talk

On May 29, 11:50 am, Douglas Shearer <rails-mailing-l...@andreas-

s.net> wrote:
> Jeff Emminger wrote:
> > mydomain.com/blog/year/2007/month/5/day/28
>
> That would work, using nested resources. Have decided I was being
> stupid, and have re-implemented my map.connect.

If it's not too late, let me throw in my two cents :-)

REST != map.resources

This is a common perception, because DHH's posts about REST usually
included instructions about map.resources, a feature new to Rails 1.2
that made routing easier *in some cases*.

But you can have a 100% RESTful application just by using map.connect,
too. After all, map.resources is just shorthand for a bunch of named
routes (and named routes are just map.connect statements).

The url part after blog/ identifies your resource, right? So you can
be RESTful:

map.connect /blog/:year:/:month/:day, :controller => :blog, :action
=> :index

Then your BlogController has:

def index
month = params[:month]
year = params[:year]
day = params[:day]

@entries = # get entries here
end

I'm simplifying, but hopefully you get the idea. You can have a
RESTful architecture whether you use map.connect or map.resources.

Jeff
softiesonrails.com

Douglas Shearer

unread,
May 29, 2007, 2:16:29 PM5/29/07
to rubyonra...@googlegroups.com
Jeff Cohen wrote:

>You can have a
> RESTful architecture whether you use map.connect or map.resources.

Awesome reply Jeff, and a point very well made.

I think that you should make a blog entry of that, you have the spiel
down to a tee.

Cheers.

Dougal
http://douglasfshearer.com

Jeff

unread,
May 29, 2007, 3:20:10 PM5/29/07
to Ruby on Rails: Talk
> Awesome reply Jeff, and a point very well made.

Thanks Douglas! Glad to help.


> I think that you should make a blog entry of that, you have the spiel
> down to a tee.

softiesonrails.com/tags/rest

:-)


Steve Austen

unread,
Nov 29, 2010, 10:06:37 AM11/29/10
to rubyonra...@googlegroups.com
I really enjoyed the article. It proved to be Very helpful to me and I

am sure to all the comment here!
http://www.dealsourcedirect.com/ion-tape2pc.html

Reply all
Reply to author
Forward
0 new messages