From: "Craig Chant" <[email protected]>

Hi Andre,

That is clearer, and Alexander provided me with a working solution, but it doesn't make sense with your example.

$action is an action object isn't it?

So Alexander's example has :-

$c->detach($c->controller('ComplianceUpdate')->action_for('index'));

So I assume

$c->controller('ComplianceUpdate')->action_for('index');

is returning an action object that is passed to detach.

However, your example just has a string path '/a/my_action_1' , how is that an action object?

Are you saying detach (for the single argument signature) takes a URL path and that $action is just a string scalar with a URL path in it and not an action object reference as I got the impression?



Below is a piece of text I created for the Catalyst documentation a long time ago (perldoc Catalyst). It tries to makes the things a little bit clearer for using uri_for_action() method, but it is the same in any case an action path is used. The idea is that even though the action path looks like a URL, it is not an URL. It is not the URL that calls that action.

""
       Note that although the path looks like a URI that dispatches to the
       wanted action, it is not a URI, but an internal path to that action.

       For example, if the action looks like:

        package MyApp::Controller::Users;

        sub lst : Path('the-list') {}

       You can use:

        $c->uri_for_action('/users/lst')

       and it will create the URI /users/the-list.
""

--Octavian


_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to