The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


Catalyst::ActionRole::FindViewByIsa - Select from the available application views by type


    package MyApp::Controller::Foo;
    use Moose;

    BEGIN { extends 'Catalyst::Controller::ActionRole'; }

    sub foo : Local Does('FindViewByIsa') FindViewByIsa('Catalyst::View::TT') {
        # Code here. If $c->stash->{current_view} is set, it will be left alone
        #            after this method is run. Otherwise it will be set to
        #            the first app view which @ISA Catalyst::View::TT


If you are trying to write a generic controller component which will be reused within an application, you do not want to mandate the use of one type of view, but if you're providing templates with your component, then you need to be able to find a view of the appropriate type.

Therefore this action role will select a the view in the application which matches the class of view that you want, no matter what it is named locally within the application.


Tomas Doran (t0m), <>


Copyright 2009 Tomas Doran, some rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.