Модель
class CompanyCategory extends AppModel { public $name = "CompanyCategory"; public $hasMany = array( "Company" ); }
КОНТРОЛЛЕР
public function admin_edit($id = null){ //debug($this->request); //exit(0); if($id == null){ $this->Session->setFlash("ID categorie eronat!", "flash/simpla_error"); $this->redirect("index"); } if($this->request->is('post')){ if($this->CompanyCategory->save($this->request->data)){ $this->Session->setFlash("Categoria a fost salvata!", "flash/simpla_success"); } else{ $this->Session->setFlash("Categoria NU a fost salvata!", "flash/simpla_error"); } } else{ $this->Session->setFlash("READ!", "flash/simpla_error"); $this->request->data = $this->CompanyCategory->read(null, $id); } }
Вид
<div class="content-box"> <div class="content-box-header"> <h3>Editeaza categorie firme</h3> </div> <div class="content-box-content"> <?php echo $this->Form->create("CompanyCategory", array( 'inputDefaults' => array( 'error' => array( 'attributes' => array( 'wrap' => 'span', 'class' => 'input-notification error png_bg' ) ) ) )); ?> <?=$this->Form->input('id', array('type' => 'hidden'))?> <?=$this->Form->input('title', array('class' => "text-input small-input", 'label' => 'Denumire'))?> <?=$this->Form->submit('Salveaza', array('class' => "button"))?> </div> </div>
Моя проблема заключается в том, что при отправке формы контроллер возвращает false для request-> is ('false');
Если я явно укажу на представление хелпера формы внутри метода создания, то тип как «пост» будет работать так, как ожидалось.
Это немного расстраивает, в то время как метод формы уже отправляется без его настройки.
Я делаю что-то неправильно ?
использовать этот контроллер
public function admin_edit($id = null) { $this->layout = 'admin_layout'; $this->CompanyCategory->id = $id; if (!$this->CompanyCategory->exists()) { throw new NotFoundException(__('Invalid CompanyCategory model')); } if ($this->request->is('post') || $this->request->is('put')) { if ($this->CompanyCategory->save($this->request->data)) { $this->Session->setFlash(__('The CompanyCategory model has been saved')); $this->redirect(array('action' => 'index')); } else { $this->Session->setFlash(__('The CompanyCategory model could not be saved. Please, try again.')); } } else { $this->request->data = $this->CompanyCategory->read(null, $id); } }
Я не уверен, какие рамки вы используете для этого, но я предполагаю, что в представлении $ this-> Form-> create ()
Должна быть опция для установки типа действия формы для публикации.
Если вы просматриваете html, где PHP-код генерирует форму, он создает свойство action? Я предполагаю, что он, вероятно, делает GET по умолчанию.