I'm using the latest TurboGears2 2.0b7 (according to paster tginfo). I
also did:

easy_install -U -i http://www.turbogears.org/2.0/downloads/current/index
tg.devtools

and it told me I already have the latest. I'll try routing to a
different controller.

Thanks, Carl


On Mar 13, 10:49 am, Mark Ramm <[email protected]> wrote:
> I think there was a bug with __before__  and the decoration object
> that has been fixed in the last beta, what version of tg2 are you
> using (you can check with paster tginfo).
>
> I have not tried making the RootController into a decorated
> controller, I'd try making a new controller and routing to that.   I
> won't have time to make a doc this afternoon, but I can try to look at
> it tomorrow if you don't get it working before then.
>
> --Mark
>
>
>
> On Fri, Mar 13, 2009 at 1:01 PM, Carl <[email protected]> wrote:
>
> > Mark,
> > Thanks for the quick response. It didn't work though. My
> > RootController now subclasses tg.controllers.DecoratedController and I
> > get the following error even onhttp://localhost:8080/(the root):
>
> > Module tg.controllers:125 in _perform_call
> >>>  controller.decoration.run_hooks('before_validate', remainder,
> > AttributeError: 'function' object has no attribute 'decoration'
>
> > The code expects 'controller' to be an object with a 'decoration'
> > attribute, but in my case the controller is the __before__ method of
> > RootController:
>
> >>>> controller
> > <bound method RootController.__before__ of
> > <nine.controllers.root.RootController object at 0x99a3d0>>
>
> > Is it possible to post a fully working TG2 custom routes example? It
> > doesn't even have to be the entire project just the differences from a
> > standard quickstarted project.
>
> > Thanks, Carl
>
> > On Mar 13, 7:40 am, Mark Ramm <[email protected]> wrote:
> >> Yea, those docs are missing some important details.
>
> >> One think you do need to know is that the
> >> TGController/ObjectDispatchController expects to be routed to for
> >> object dispatch, not for a final page.
>
> >> So you want to use DecoratedController when defining your own custom 
> >> routes.
>
> >> All of this should go on the RoutesIntegration page.
>
> >> --Mark
>
> >> On Fri, Mar 13, 2009 at 6:23 AM, Carl <[email protected]> wrote:
>
> >> > Hi,
> >> > I'm trying to do custom routes with TG2 and failing so far. The
> >> > instructions inhttp://turbogears.org/2.0/docs/main/RoutesIntegration.html
> >> > tell you to:
>
> >> > "you can easily do that, just by providing your own function to set up
> >> > the routes map. You can update the routes defaults by overriding the
> >> > setup_routes method of the base_config object in app_cfg.py."
>
> >> > Well, it's not that clear . setup routes() is a method of AppConfig.
> >> > If you just implement your own function in app_cfg.py it is never
> >> > called. You can subclass AppConfig and provide your own setup_routes()
> >> > method or you can create a custom setup_routes() function and assign
> >> > it to the original AppConfig before you instantiate base_config:
>
> >> > AppConfig.setup_routes = custom_setup_routes
> >> > base_config = AppConfig()
>
> >> > You will also need to import a bunch of stuff from tg.configuration
> >> > such as Mapper and config.
>
> >> > Once, I got that part right and my custom_setup_routes function was
> >> > actually called, it just did,'t work. I can't even get a simple hard-
> >> > coded path to work. Here is my custom_setup_routes() function:
>
> >> > def custom_setup_routes(self):
> >> >    """Setup the default TG2 routes
>
> >> >    Override this and set up your own routes maps if you want to use
> >> > routes.
> >> >    """
> >> >    #from dbgp.client import brk; brk(port=9011)
> >> >    map = Mapper(directory=config['pylons.paths']['controllers'],
> >> >                always_scan=config['debug'])
>
> >> >    map.connect('prefix/foo', controller='root', action='foo')
>
> >> >    # Setup a default route for the root of object dispatch
> >> >    map.connect('*url', controller='root',
> >> > action='routes_placeholder')
>
> >> >    config['routes.map'] = map
>
> >> > I expect that the /prefix/foo URL will result in a call to the foo()
> >> > method on my RootController, but it doesn't. The standard object
> >> > dospatch works just fine, so /foo does get to my foo() method.
>
> >> > Can someone tell me what I'm doing wrong and/or explain how to debug
> >> > routing and/or show a full-fledged example of custom routes in TG2?
>
> >> > Thanks, Carl
>
> >> --
> >> Mark Ramm-Christensen
> >> email: mark at compoundthinking dot com
> >> blog:www.compoundthinking.com/blog
>
> --
> Mark Ramm-Christensen
> email: mark at compoundthinking dot com
> blog:www.compoundthinking.com/blog
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to