Hola a todos nuevamente...
mi duda esta ves es con referencia a los valores que se pasan por la url de KUMBIa, veran tengo ciertos métodos que actualizan el estado de unos registros en mi base de datos, al actualizar el registro y lo redirigo a mi pantallazo inicial que es una lista ordenada de todos los registros con paginación incluida.
function estado($id_dato,$estate)
{
....
....
if($dato->update())
{
Flash::success('Estado del dato Actualizado');
//Redirecciono a la pagina principal
return $this->route_to('action: index');
}
else{
....
}
}
pero en mi pagina inicial que recibe dos parametros por url:
el numero de la pagina y EL estado de los registros a mostrar (Activo - inactivo)
public function index($page=1, $estado="A")
{
$_POST['estado']= $estado;
$_POST['dato'] = $this->Dato->find("conditions: estado='".$estado."'","order: id ASC");
$_POST['page'] = $page;
}
esta recibiendo los parametros del metodo de modificacion es decir el ID del dato a modificar y el estado a modificar. y no he podio encontrar como modificar la url que viene del metodo que modifica el estado el cual si necesita el id del dato.
si le coloco
route_to('action: index/1/A'); <-- da Error
route_to('action: index', 'id: 1'); <-- no hace nada pues el id es diferente a mi parámetro page.
lo unico que quiero es eliminar los datos del metodo anterior de mi url y que mi metodo index tome los valores por defecto.
Alguna sugerencia.
muchas Gracias.
Comentarios
Es decir en mi pagina se selecciona la opción de modificar el estado de un registro este se modifica y si la actualización fue satisfactoria se en ruta a la pagina inicial que muestra todos los registros.
pero esta pagina esta volviendo a recibir los valores por URL del id y el estado a modificar, pues no he podio cambiar la URL que se esta ejecutando.
lo máximo que he podido hacer a sido redireccionar toda la pagina con la funcion "redirect()" pero si lo hago por esta funcion se me cambia la url lo cual esta bien, pero no se muestran losmensajes de la aplicación pasados por la clase "FLASH"
pero bien muchas gracias por el dato .
¿No se podría reescribir el métodode route_to para que acepte un número variable de parámetros?
Invoca al método del controlador y luego efectua un render
Por ejemplo
Saludos
Revise el código y el método de redirect es el siguiente:
El problema que veo es que necesita que exista un header, sin embargo eso no sucede en mi codigo (no se por que <!-- s:? --><img src="{SMILIES_PATH}/icon_confused.gif" alt=":?" title="Confused" /><!-- s:? --> ), donde hago referencia a un método de mi login_controller.
Bueno, modifique el código por lo siguiente:
El parámetro $seconds=0.5 lo cambio por $seconds=0 y en la comparacion if(headers_sent()) lo cambio por if($seconds > 0), una vez eche este cambio me funciona bien.
Notas
Por el momento a mi me funciona bien, incluso me permite manejar bien las variables que pasaba por la URL, algo que antes de este cambio no era posible.
[/*:m]
Datos de mi version de KUMBIA
VIVA KUMBIA, GRACIAS A LOS QUE HACEN ESTO POSIBLE
[1]->https://bugs.launchpad.net/kumbia
hablando con joanhey en el irc encontramos que el uso del codigo que menciona jjvos19 no es recomendable
aqui esta la manera correcta de como usar redirect y route to