Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Por qué delete() me funciona en index y no en otra ruta?

Estas en el tema de Por qué delete() me funciona en index y no en otra ruta? en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola, estoy practicando con el tutorial del blog de cakePHP. Yo genero un link para eliminar un articulo desde el index, donde cargo la lista ...
  #1 (permalink)  
Antiguo 26/11/2013, 11:46
Avatar de reborn  
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 2 meses
Puntos: 1
Por qué delete() me funciona en index y no en otra ruta?

Hola,

estoy practicando con el tutorial del blog de cakePHP.

Yo genero un link para eliminar un articulo desde el index, donde cargo la lista de posts y cake lo genera de la siguiente manera:

Código HTML:
http://localhost/posts#
Pero si yo voy a http://localhost/posts/view/1, el link de eliminar me aparece de esta forma:

Código HTML:
http://localhost/posts/view/2#
...y no me deja eliminarlo.

La funcion q usa cake es esta:

Código PHP:
<?php
    
//Borrar posts
    
function delete($id) {
    if (!
$this->request->is('post')){
        throw new 
MethodNotAllowedException();
    }
    if (
$this->Post->delete($id)){
        
$this->Session->setFlash('El post N°: ' $id ' se eliminó correctamente.');
        
$this->redirect(array('action' => 'index'));
    }
    }
?>
y el link de eliminar es este:

Código PHP:

            <?php
            
echo $this->Form->postLink(
                        
'Eliminar',
                        array(
'action' => 'delete'$post['Post']['id']),
                        array(
'confirm' => '¿Seguro desea eliminar el post?'));
            
?>
No entiendo por q.

Saludos
  #2 (permalink)  
Antiguo 27/11/2013, 12:30
 
Fecha de Ingreso: abril-2013
Mensajes: 61
Antigüedad: 11 años, 1 mes
Puntos: 4
Respuesta: Por qué delete() me funciona en index y no en otra ruta?

prueba a pasarle el controlador cuando creas el link.
Y yo particularmente creo los botones asi (creo que tendras que tener el helper Html)

Código PHP:
Ver original
  1. <?php
  2.             echo $this->Html->link(
  3.                         'Eliminar',
  4.                         array('controller' => 'posts', 'action' => 'delete', $post['Post']['id']),
  5.                         array('confirm' => '¿Seguro desea eliminar el post?'));
  6.             ?>
  #3 (permalink)  
Antiguo 27/11/2013, 17:17
Avatar de reborn  
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Por qué delete() me funciona en index y no en otra ruta?

Gracias, voy a chequearlo.
Tambien incluyo el helper Html

Etiquetas: cakephp
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:09.