2015-01-28 3 views
0

, когда я отправляю форму, я получаю перенаправление на домашнюю страницу вместо сохранения данных. Я не использую какую-либо пользовательскую маршрутизацию.Cakephp 2.6 - переадресация формы на главную страницу вместо действия

это, как я создаю форму:

echo $this->Form->create('Presentation', array('type'=>'POST' ,'url'=>array('controller'=>'admin', 'action'=>'edit_presentation',$this->request->data['Presentation']['id']))); 

и это действие:

public function edit_presentation($id = null) { 
    $this->uses = array('Presentation'); 
    $this->loadModel('Presentation'); 
    if ($this->request->is(array('post', 'put'))) { 
     // var_dump($this->request->data); 
     // exit(); 
     $this->Presentation->locale = Configure::read('Config.languages'); 
     if ($this->Presentation->saveAll($this->request->data)) { 
      $this->Session->setFlash(__('The hotel has been saved.')); 
      return $this->redirect(array('action' => 'presentation')); 
     } 
    } 
    $this->request->data = $this->Presentation->find('first', array('conditions'=>array('Presentation.id'=>$id))); 
    foreach ($this->request->data as $field => $trad) { 
     if (strpos($field, '_')===0) { 
      $name = str_replace('_', '', $field); 
      $this->request->data['Presentation'][$name] = array(); 
      foreach ($trad as $value) { 
       $locale = $value['locale']; 
       $this->request->data['Presentation'][$name][$locale] = $value['content']; 
      } 
     } 
    } 
} 

ответ

0
$this->Presentation->id = $id; 
$this->Presentation->locale = Configure::read('Config.languages'); 
if ($this->Presentation->saveAll($this->request->data)) { 
    $this->Session->setFlash(__('The hotel has been saved.')); 
    return $this->redirect(array('action' => 'presentation')); 
} 

попробовать это и дать мне обратную связь

+0

Спасибо за ваш ответ , проблема в том, что когда я отправляю форму, действие вообще не вызывается, и это происходит только на рабочем сервере, на локальном сервере работает как exp ected. –

+0

вам, что попробуйте это от создания вашей формы '$ id = $ this-> request-> data ['Presentation'] ['id']; echo $ this-> Form-> create ('Presentation', array ('type' => 'POST', 'url' => array ('controller' => 'admin', 'action' => 'edit_presentation/'. $ id))); ' – kheengz

+0

, если я могу спросить, он перенаправляет вас обратно на ** edit_presentation ** page? – kheengz

Смежные вопросы