• Publicidad

Catalyst, recepcionar parámetros

Todo lo relacionado con el desarrollo Web con Perl: desde CGI hasta Mojolicious

Catalyst, recepcionar parámetros

Notapor chinaski » 2011-07-02 10:24 @475

Buenas, estoy haciendo una aplicación web con Catalyst y necesito recepcionar los datos de un checkbox, donde puedo seleccionar varios datos que posteriormente debo insertar en una BD de MySQL. Para esto uso:

@libros = $c->request->param( 'libros' );

El problema que tengo es a la hora de introducir los datos en MySQL. Para esto recorro el array de la siguiente manera:

foreach $libro (@libros){
sentencia MySQL con $libro
}


Y viendo la traza de DBIC obtengo que $libro es una referencia a un array, por lo que no puedo insertar el valor, que en definitiva es un escalar. He probado con $$libro y sigo con el mismo problema. También he probado con:

$libros = [$c->request->param( 'libros' )];

pensando que obtengo una referencia a un array anónimo, pero nada de nada. Siempre obtengo una referencia a un array.

¿Alguien puede ayudarme?

Saludos.
chinaski
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2011-07-02 10:04 @461

Publicidad

Re: Catalyst, recepcionar parámetros

Notapor explorer » 2011-07-02 11:08 @505

Bienvenido a los foros de Perl en español, chinaski.

Recuerda que puedes editar el contenido de tus propios mensajes, por si tienes que retocar o borrar algo que hayas escrito mal. Solo tienes que pulsar el botón de editar mensaje, que hay dentro de cada mensaje.

No conozco mucho Catalyst, pero si $libro es una referencia a un array, entonces con @{$libro} ya estás haciendo referencia a todo el array. Y si solo quieres referirte al primer elemento de ese array, lo puedes escribir así: $libro->[0] (que es lo mismo que $$libro[0], pero más fácil de entender).

En caso de duda, siempre está bien usar algún módulo como Data::Dumper para ver el contenido exacto de las variables.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Catalyst, recepcionar parámetros

Notapor chinaski » 2011-07-04 09:14 @426

Gracias, lo he solucionado usando @{$libro} como referencia a todo el array, tal y como me indicas en tu respuesta.

Estoy usando Catalyst desde hace poco y no me va mal -con algún tropezón como el indicado anteriormente-, he visto algo de Mojolicius pero no encuentro mucha documentación. ¿Tienes alguna otra sugerencia de framework para aplicaciones web en Perl?

Saludos
chinaski
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2011-07-02 10:04 @461

Re: Catalyst, recepcionar parámetros

Notapor explorer » 2011-07-04 12:02 @543

Los dos entornos de desarrollo web de los que más se está oyendo hablar últimamente son Dancer y Mojolicious. Y también del protocolo de comunicaciones web Plack.

Catalyst se considera que es el más completo, pues tiene complementos para casi todo. La diferencia con Dancer y Mojolicious es que son alternativas que ofrecen una solución más rápida y directa, aunque no completa (les faltan muchos complementos).

Para desarrollar una web sencilla, se puede empezar con Dancer y Mojolicious. Incluso, muchas veces, nada sencilla. Y reservar Catalyst cuando se trate de una web muy compleja.

De todas maneras, los programadores de Catalyst te dirán que, una vez aprendido, hacer web de cualquier tamaño es igual de simple con Catalyst.

Te he enlazado a los enlaces de CPAN, para que saques de ahí la documentación. Una parte está ahí, y la otra, en la web de cada entorno.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Catalyst, recepcionar parámetros

Notapor danimera » 2011-07-10 13:38 @609

Yo os recomiendo:

CGI-Application. Sencillamente el pequeño ligero Titan, rápido, flexible, fácil de entender, con muchos plugins, y comparable con Catalyst, aunque de este último considero que es el más poderoso y completo framework que hay sin importar el lenguaje...

Si vas bien con Catalyst, no necesitas de más, aunque para cosas rápidas recomiendo CGI-APP.

http://cgi-app.org/
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


Volver a Web

¿Quién está conectado?

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