Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Mundo Perl » Intermedio » Can't call method "process" without a package  RESUELTO Responder al tema
Nuevo tema


Página 1 de 1  [ 8 mensajes ] 
 
Nota 2011-10-26 22:16 @970
Avatar de Usuario
Vive para Perl en Español
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia
Mensajes: 551
Can't call method "process" without a package
Me sale este error

Can't call method "process" without a package or object reference at libs/CGI/Application/Plugin/TT.pm line 314.

Estoy usando cgi-app y el plugin de TT pero no sé por qué me sale ese error... y me lo indica en el propio módulo del plugin.

Solo tengo esto en un método:

Syntax: [ Download ] [ Hide ]
Using perl Syntax Highlighting
  1.  sub myrunmode {
  2.    my $self = shift;
  3.  
  4.    my %params = (
  5.                  email       => 'email@company.com',
  6.                  menu        => [
  7.                                  { title => 'Home',     href => '/home.html' },
  8.                                  { title => 'Download', href => '/download.html' },
  9.                                 ],
  10.                  session_obj => $self->session,
  11.    );
  12.  
  13.    return $self->tt_process('template.tmpl', \%params);
  14.  }

_________________
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org


Nota 2011-10-27 08:01 @375
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10216
Re: Can't call method "process" without a package
El error es debido a que el complemento no ha conseguido recuperar el objeto Template Toolkit, con tt_obj().

Algo ha pasado, que no se ha creado ese objeto.

_________________
JF^D Perl programming


Nota 2011-10-27 08:46 @407
Avatar de Usuario
Vive para Perl en Español
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia
Mensajes: 551
Re: Can't call method "process" without a package
Ya vi que cuando pruebo directamente el Template Toolkit me pasa lo mismo, y yo subí todo bien, el módulo está y lo carga pero obtengo el mismo error :S

_________________
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org


Nota 2011-10-27 14:11 @632
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10216
Re: Can't call method "process" without a package
Pero, ¿te ha funcionado en local?

Mirando el código, el responsable es tt_obj(), que a su vez llama a _get_object_or_options(), pero es en tt_obj() donde se crea el objeto Template Toolkit.

_________________
JF^D Perl programming


Nota 2011-10-27 14:14 @635
Avatar de Usuario
Vive para Perl en Español
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia
Mensajes: 551
Re: Can't call method "process" without a package
Pues ya no estoy usándolo desde el plugin, ahora lo uso directo.

Syntax: [ Download ] [ Hide ]
Using perl Syntax Highlighting
  1.  # create Template object
  2.     my $template = Template->new();
  3.    
  4.     # define template variables for replacement
  5.     my $vars = {
  6.         var1  => $value,
  7.     };    
  8.    
  9.     my $input = 'myfile.html';
  10.    
  11.     # process input template, substituting variables
  12.     $template->process($input, $vars)
  13.         || die $template->error();


Me sale lo mismo, claro que yo subí el template-toolkit manualmente al server, porque no lo encontraba, y ahora pues no me marca error de módulo no encontrado, si no que me sale ese error de método.

_________________
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org


Nota 2011-10-27 18:43 @822
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10216
Re: Can't call method "process" without a package
Yo lo ejecutaría en local, con el depurador, paso a paso, hasta llegar a esa línea, y ver por qué tt_obj() no genera el objeto TT. O en vez de ir paso a paso, pondría un punto de ruptura (breakpoint) en tt_obj(), y analizar lo que hace.

He leído el manual del complemento y, aunque dice que tt_config() no es necesario llamarlo, quizás podría ser la causa de que te falle.

No sé...

_________________
JF^D Perl programming


Nota 2011-10-28 05:05 @253
Avatar de Usuario
Vive para Perl en Español
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia
Mensajes: 551
Re: Can't call method "process" without a package  RESUELTO
En local funciona bien... :S -----

Creo que es ese server que no me crea bien el objeto, porque cuando hago un print dumper de $template... ¡ja!, no imprime nada...

:) seguro que lo instalé mal, pero bueno, ya usé HTML-Template... para no gastar más tiempo.

_________________
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org


Nota 2011-10-28 05:14 @260
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10216
Re: Can't call method "process" without a package
¿Has visto los logs?

Es posible que allí estén los mensajes de error...

Apuesto a que te faltó subir algún módulo ;)

_________________
JF^D Perl programming


Responder al tema  [ 8 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO