• Publicidad

Can't call method "process" without a package

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Can't call method "process" without a package

Notapor danimera » 2011-10-26 22:16 @970

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:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1.  sub myrunmode {
  2.    my $self = shift;
  3.  
  4.    my %params = (
  5.                  email       => '[email protected]',
  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.  }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Publicidad

Re: Can't call method "process" without a package

Notapor explorer » 2011-10-27 08:01 @375

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 & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Can't call method "process" without a package

Notapor danimera » 2011-10-27 08:46 @407

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
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Re: Can't call method "process" without a package

Notapor explorer » 2011-10-27 14:11 @632

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 & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Can't call method "process" without a package

Notapor danimera » 2011-10-27 14:14 @635

Pues ya no estoy usándolo desde el plugin, ahora lo uso directo.

Sintáxis: [ Descargar ] [ Ocultar ]
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();
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


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
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Re: Can't call method "process" without a package

Notapor explorer » 2011-10-27 18:43 @822

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 & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Can't call method "process" without a package

Notapor danimera » 2011-10-28 05:05 @253

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
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Re: Can't call method "process" without a package

Notapor explorer » 2011-10-28 05:14 @260

¿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 & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados