[Rio-pm] Catalyst

breno breno em rio.pm.org
Sexta Janeiro 8 06:28:32 PST 2010


Oi pessoal,

pra referência futura, apenas pra não deixar a thread sem resposta, o
problema aqui foi apenas que o Andre esqueceu de passar o helper para
a view. No caso, ele escreveu:

script/teste_create.pl view Temp::TT   (passando apenas o nome da classe)

quando a sintaxe é:

script/teste_create.pl view NOME [HELPER]

o HELPER eh opcional, por isso não deu erro durante a criação, mas sem
ele o Andre ganhou o boilerplate de uma View crua, como o Daniel
Hughes bem identificou. Como ele tentou executar o boilerplate sem
modificações, o Catalyst avisou a ele:

Temp::TT directly inherits from Catalyst::View. You need to inherit
from a subclass like Catalyst::View::TT

assim, bastou trocar o comando de criação da view para:

script/teste_create.pl view Temp::TT  TT

(reparem o "TT" no final)

para que o código da view fosse criado usando o Template Toolkit (vulgo "TT").

O Catalyst::Manual::Tutorial explica isso direitinho, mas o Andre
confessou pra gente q leu durante a madrugada, cheio de sono, então a
gente perdoa =D

Aos iniciantes seguindo o tutorial, recomendo instalar o
Task::Catalyst::Tutorial, que instala pra você todos os módulos usados
no Tutorial.


[]s

-b

2010/1/7 Andre Luis <alpbs2003 em gmail.com>:
> Eu ja dei uma lida nele ... na verdade eu estava estava faltando instalar
> Task::Catalyst::Tutorial e seguir o manual ... ai rolou :)
>
> mas vlw a forca
>
> 2010/1/7 Daniel de Oliveira Mantovani <daniel.oliveira.mantovani em gmail.com>
>>
>> Antes de aprender a correr você tem que aprender a andar:
>> Olha esse manual, é ótimo:
>> http://template-toolkit.org/docs/manual/Intro.html
>>
>> 2010/1/7 Andre Luis <alpbs2003 em gmail.com>:
>> > Oi pessoal
>> >
>> > Sorry pelo "nao esta funcionando" ....
>> >
>> > entao, segui o manual e li varios exemplos pela net
>> >
>> > meu step-by-step foi:
>> >
>> > # catalyst.pl teste
>> > # cd teste/
>> > # script/teste_create.pl controller Temp
>> > # script/teste_create.pl view Temp::TT
>> > # vi lib/teste/Controller/Temp.pm
>> > == Temp.pm ==
>> > # adicionei isso
>> > sub list : Global {
>> >   my ( $self, $c, @args ) = @_;
>> >   $c->stash->{template} = 'temp.tt';
>> >
>> > }
>> > == Temp.pm ==
>> >
>> > # vi lib/teste/View/Temp/TT.pm
>> > ## Esse aki segundo indicacao do daniel
>> > __PACKAGE__->config(
>> >
>> >          TEMPLATE_EXTENSION => '.tt2',
>> >
>> >         #  Set the location for TT files - changes base directory for
>> > your
>> > template files from root to root/src.
>> >         INCLUDE_PATH => [
>> >                 teste->path_to( 'root', 'src' ),         # changes base
>> > template dir to root/src
>> >         ],
>> > );
>> >
>> > criei o arquivo root/src/temp.tt
>> > <p> teste sssssssssssss </p>
>> >
>> > e iniciei o server
>> >
>> > quando acesso o /list ele retorna :
>> >
>> > teste::View::Temp::TT directly inherits from Catalyst::View. You need to
>> >  inherit from a subclass like Catalyst::View::TT instead.
>> >
>> >
>> > e o debug do request, response, ...
>> >
>> > :(
>> >
>> >
>> > abs
>> >
>> >
>> > 2010/1/7 Daniel Hughes <dsthughes em gmail.com>
>> >>
>> >> faz muito tempo desde de usar Catalyst. mas vc checou o modulo arquivo:
>> >> nome_do_seu_projeto/lib/nome_do_seu_projeto/View/TT.pm e.g. se usasse o
>> >> exemplo lib/Hello/View/TT.pm - deve ser alguma coisa como em baixo.
>> >> acho que
>> >> lembro que as vezes o ´path´ e ´template extension´ defaults sao
>> >> incompativeis com algumas versoes
>> >>
>> >> package nome_do_seu_projeto::View::TT;
>> >>
>> >> use strict;
>> >> use base 'Catalyst::View::TT';
>> >>
>> >> # __PACKAGE__->config(TEMPLATE_EXTENSION => '.tt');
>> >>
>> >>    __PACKAGE__->config(
>> >>
>> >>         # Change default TT extension - .tt' to '.tt2'
>> >>         TEMPLATE_EXTENSION => '.tt2',
>> >>
>> >>        #  Set the location for TT files - changes base directory for
>> >> your
>> >> template files from root to root/src.
>> >>         INCLUDE_PATH => [
>> >>        bed1->path_to( 'root', 'src' ),         # changes base template
>> >> dir
>> >> to root/src
>> >>             ],
>> >>
>> >> dan.
>> >> --
>> >> Daniel S. T. Hughes M.Biochem (Hons; Oxford), Ph.D (Cambridge)
>> >>
>> >>
>> >> -------------------------------------------------------------------------------------
>> >> +55 21 8344 9098
>> >> dsth em cantab.net
>> >> dsth em cpan.org
>> >>
>> >> _______________________________________________
>> >> Rio-pm mailing list
>> >> Rio-pm em pm.org
>> >> http://mail.pm.org/mailman/listinfo/rio-pm
>> >
>> >
>> > _______________________________________________
>> > Rio-pm mailing list
>> > Rio-pm em pm.org
>> > http://mail.pm.org/mailman/listinfo/rio-pm
>> >
>>
>>
>>
>> --
>> Um homem não usa uma máscara para se esconder, usa para ser quem ele
>> realmente é.
>> _______________________________________________
>> Rio-pm mailing list
>> Rio-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>


Mais detalhes sobre a lista de discussão Rio-pm