Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

COLD WOLF

[Resolvido] $this->redirect nao funciona ao apagar regis

Recommended Posts

Olá.

 

Eu criei uma action para apagar determinado item de uma lista.

Ela funciona, mas não redireciona para a lista novamente. Tentei usar o $this->autoRender = false, e não adiantou.

Criei também uma view para a function apagarShow(). Mas mesmo assim não deu certo.

 

Minha Action no Controller Show:

 

function apagarShow($id = null){

$this->autoRender = false;

$this->Show->delete($id);

$this->redirect(array('editarshow',$id));

exit();

}

 

Meu link na View

 

echo $html->link('Delete', array('action'=>'apagarshow',$show['id']),null, sprintf('Do you really want to delete the show: %s?', $show['nome']), true);

 

Independente da ocasião nessa view aparece o seguinte erro:

 

"Cannot modify header information - headers already sent by (output started at E:\xampp\htdocs\bolo\app\app_controller.php:1) [CORE\cake\libs\controller\controller.php, line 644"

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, basta fazer as coisas simplesmente como as do padrão do cake ;)

 

$this->Session->setFlash( __('Mensagem qualquer de erro', true), 'default', array( 'class'=>'message flash_bad' ) );
$this->redirect( array( 'action'=>'minha_action_atual' ) );

 

e o link:

 

<?php echo $this->Html->link( __('Deletar', true), array('action'=>'delete', $user['User']['id']), null, sprintf(__('Tem certeza de que deseja excluir # %s?', true), $user['User']['id']) ); ?>

 

Eu uso assim! Espero ter ajudado! ;)

Att!

Compartilhar este post


Link para o post
Compartilhar em outros sites

É porque eu faço uso de alguns helpers/behaviors/components que não tiveram continuidade na versão 1.3, e eu teria que rescreve-los.

 

Então como não tem nada que impessa até o momento o desenvolvimento na 1.2 vou continuar, e depois de um tempo depois do projeto realizado, planejo atualizar tudo de uma vez.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei ao certo como é no CakePHP 1.2

 

Mas acredito que seria assim:

$this->redirect(array('controller' => 'nomeController', 'action' => 'editarshow'));

 

A documentação mostra da mesma forma:

http://book.cakephp.org/view/425/redirect

 

Deveria funcionar da forma acima.

A menos que você tenha algum erro sendo impresso antes de redirecionar. Ai var dar erro mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, resolvi da seguinte forma:

 

Editei o PHP.INI e alterei os valores abaixo:

register_globals = On

output_buffering = On

 

Salvei e reiniciei o apache

 

Quanto ao redirect, o cake reconhece, mesmo que declare apenas a Action se ela pertencer ao mesmo controller que a manipula.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.