- map.connect('/users', controller='users', action='list')
- map.connect('/users/{name}', controller='users', action='view')
-
- # Art stuff
- art = map.resource('art','art', controller="art", member={'rate':'PUT'})
- # wow, it even works if you name the plural and singular the same thing.
- # Resources documented here: http://routes.groovie.org/manual.html#restful-services
- # It seems the first parameter (singular) is only ever used in route names, e.g. url('kitten', id=5).
- # The second parameter, plural, is used everywhere else by default: in the url, controller name,
- # and the route name for the collection. e.g. url('kittens') -> '/kittens' -> kittens.index().
- # Since our controllers have singular names, we'll have to override this every time with the 'controller' parameter.
- # Even singular routes use the plural in urls. url('kitten', id=5) -> '/kittens/5'.
- # And it appears that if the singular and plural are the same, either will match, so no harm done.
- # It does mean, however, that if you have a None id accidentally, url('art', id=None) you'll get the same thing
- # as url('art'). I mean, you might have wanted a singular but you got a plural route instead.
-
+ with map.submapper(controller="art") as sub:
+ sub.connect('new_art', '/art/new', action="new")
+ sub.connect('create_art', '/art/create', action="create")
+ sub.connect('rate_art', '/art/{id}/rate', action="rate")
+ sub.connect('show_art', '/art/{id}', action="show")
+
+ with map.submapper(controller='tag') as sub:
+ sub.connect('delete_tag', '/art/{art_id}/tag/{id}')
+ sub.connect('create_tag', '/art/{art_id}/tag')
+