On 02/12/11 15:01, Puneet Kishor wrote:
I have written a plugin (modeled after Dancer::Plugin::SiteMap) that [snip] Now I have an application where sub-applications are loaded using
load_app 'app1', prefix -> '/app1'; load_app 'app2', prefix -> '/app2';
This also works rather well, except now my plugin doesn't work. My base app is reachable at `http://server/baseapp` so the following URI works `http://server/baseapp/meta/author` but `http://server/baseapp/app1/meta/author` doesn't work... I get the void.
If you have "get" calls as in Plugin::Sitemap then they'll get evaluated once, when the plugin gets loaded so it's not going to know anything about your sub-apps. So - I would put them in a "register_routes" sub, and make sure that gets called when the plugin gets loaded. I'd also add an optional parameter that lets you set up a custom prefix. Then, you can call register_routes to set up your meta routes for each sub-app. I'm not sure where you get information like "author" from, but that process might need some tweaks too if it can be different for each app. -- Richard Huxton Archonet Ltd