en la vista de norma yo le paso el Id de normas al controlador de dominios...
esa parte me funciona bien y la ruta es dominio/add/$id (donde $id es 1, o es
2, o 3 pero no es un array):
la vista de norma es:<?php echo $this->Html->link(__('Crear Dominio', true),
array('controller' => 'dominios', 'action' => 'add',
$norma['Norma']['idnormas'])); ?> </li>e imprimi el $id y si tomo el valor de
la norma (cualquiera), sin embargo cuando agrego el dominio a la norma
especifica, ésta se guarda pero la redireccion hacia la vista de la norma con
los dominios asociados me dice NORMA INVALIDA!, e hice un echo y no imprime
nada... y en debug me dice: SELECT `Dominio`.`iddominios`,
`Dominio`.`nombredominios`, `Dominio`.`Norma_id` FROM `dominios` AS `Dominio`
WHERE `Dominio`.`Norma_id` IN (1, 2, 3, 4) (el problema es que recibe un array
de los $id de las normas cuando sólo debe recibir el que viene de la vista)...
no se si me dí a explicar.... por fis.. help me!
From: [email protected]
Date: Fri, 18 Feb 2011 09:26:09 -0300
Subject: Re: [CakePHP-es] metodo redirect de cakephp
To: [email protected]
CC: [email protected]
Te recomiendo debuguear los datos de entrada en el add, poniendo al principio
un pr($this->data); pr($id); exit; para que no te redireccione, ni guarde, solo
para comprobar los datos de entrada.
Me huele a que tu formulario en la vista está haciendo el action hacia
dominios/add, y no a dominios/add/$id, eso deberias cambiarlo en
$this->Form->create('Dominio', array('url' => array('controller' => 'dominios',
'action' => 'add', $this->params['id')));
Ve si todo está bien, y ahi siga viendo.
Saludos.
--
David Riveros Fonseca
[email protected]
Web Developer at Groupon LatAm
2011/2/17 Mario Silva <[email protected]>
Saludos!!! Me imagino que el error sale por que hay que concatenar el id con
view intendalo de esta forma:
$this->redirect(array('controller'=>'normas','action'= > 'view/'. $id));
Me imagino que el id que le estas indicando es el id de la norma a la que
quieres que te envié.
cuéntame como te fue con esto, espero te sirva.
El 17 de febrero de 2011 14:02, mayuli plaza gonzalez
<[email protected]> escribió:
hola a todos, soy nueva en php y estoy tratando de redireccionar un mensaje
hacia la vista de otro controlador: el caso es este... tengo un
dominios_controller;
function add($id = null) {
if (!empty($this->data) && (!$id)){
$this->Dominio->create();
if ($this->Dominio->save($this->data)) {
$this->Session->setFlash(__('Dominio Guardado con Exito!', true));
$this->redirect(array('controller'=>'normas','action'= > 'view', $id));
} else {
$this->Session->setFlash(__('El dominio no pudo ser guardado, Intente otra
vez.', true));
}
}
$normas = $this->Dominio->Norma->find('list', array('conditions' =>
array('Norma.idnormas' => $id)));
$this->set(compact('normas'));
}
y por supuesto este es el controlador de norma:
function view($id = null) {
echo $id;
if (!$id) {
$this->Session->setFlash(__('Norma Invalida!', true));
$this->redirect(array('action' => 'index'));
}
$this->set('norma', $this->Norma->read(null, $id));
}
el problema es que cuando agrego un dominio asociado a la funcion norma y
quiero que este dominio se vea reflejado en la vista de norma, pues me arroja
el mensaje de "NORMA INVALIDA".... y parece que cake a traves de las consultas
que se muestran por pantalla me dice:
SELECT `Dominio`.`iddominios`, `Dominio`.`nombredominios`, `Dominio`.`Norma_id`
FROM `dominios` AS `Dominio` WHERE `Dominio`.`Norma_id` IN (1, 2, 3, 4)
no se que es, pero el id no lo recibe como espero, (pareciera un array) en
cambio cuando le asigno un valor entero alli si funciona... pero no debe ser
así...
entonces, no se si alguien me puede ayudar...
gracias...
--
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos
de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a
[email protected].
Para anular tu suscripción a este grupo, envía un correo electrónico a
[email protected]
Para tener acceso a más opciones, visita el grupo en
http://groups.google.com/group/cakephp-es?hl=es.
--
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos
de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a
[email protected].
Para anular tu suscripción a este grupo, envía un correo electrónico a
[email protected]
Para tener acceso a más opciones, visita el grupo en
http://groups.google.com/group/cakephp-es?hl=es.
--
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos
de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a
[email protected].
Para anular tu suscripción a este grupo, envía un correo electrónico a
[email protected]
Para tener acceso a más opciones, visita el grupo en
http://groups.google.com/group/cakephp-es?hl=es.
--
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos
de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a
[email protected].
Para anular tu suscripción a este grupo, envía un correo electrónico a
[email protected]
Para tener acceso a más opciones, visita el grupo en
http://groups.google.com/group/cakephp-es?hl=es.