Pergunta

Oi eu sou meio novo no Cakephp e tendo muitos problemas para me ajustar .. aqui está o meu maior problema ..

Estou tentando passar um parâmetro para uma ação, ele carrega, mas quando meu script vai do controlador para a visualização e volta ao controlador novamente, ele se foi.

Código do controlador

 function add($mac = 0)
{


if(isset($this->params['form']['medico'])) 
{

 $temp= $this->Person->find('first', array('conditions' => array('smartphones_MAC' => $mac)));
 $id= $temp['Person']['id'];

$this->Union->set('events_id', $id+1);
$this->Union->set('people_id', $id);
$this->Union->save();

}

Exibir código (este é um menu, eu só tenho um botão agora)

 <fieldset>

 <legend>SELECCIONE SU ALERTA</legend>

 <?php 

  echo $form->create('Event'); 

  echo $form->submit('EMERGENCIA MEDICA',array('name'=>'medico')); 

  echo $form->end();

  ?> 

  </fieldset>
Foi útil?

Solução

Quando você cria o formulário, você não inclui os parâmetros de URL adicionais ou os campos como entrada. Sem qualquer um deles, os parâmetros desaparecerão, pois não fazem parte da nova solicitação. Você pode anexar parâmetros adicionais ao URL de envio de formulário com

$form->create('Event', array(
    'url' => array('something', 'somethingelse')
));

Isso criará um formulário que aponta para /events/add/something/somethingelse.

Outras dicas

Não sou um grande fã de usar alguns ajudantes (como $ html) ou alguns métodos (como o $ form () e end ()). Eu meio que não tive o seu problema, mas acho que você precisa fazer uma solicitação de postagem para o mesmo URL em que você realmente gosta.

<form method="GET" action="<?=$this->here ?>">

Talvez você deva dar uma explicação adicional do que está tentando alcançar.

Você pode querer tentar usar parâmetros nomeados.

Eu fiz uma pergunta semelhante que você pode achar útil:

CakePhp adicionando registro com alguns parâmetros fixos

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top