Создание действия «изменить профиль» CakePHP 2.0? - PullRequest
1 голос
/ 04 ноября 2011

У меня проблема с CakePHP 2.0.2.Я хочу создать действие «изменить профиль».Вот мое действие контроллера:

public function edit_profile() {
    if ($this->request->is('get')) {
        $this->request->data = $this->User->findById($this->Auth->user('id'));
    } else {
        if ($this->User->save($this->request->data)) {
            $this->Session->setFlash(__('Your profile has been updated'));
        }
    }
}

А вот мое мнение:

<h2>Edit Profile</h2>
<?php
    echo $this->Form->create('User');
    echo $this->Form->input('id', array('type' => 'hidden'));
    echo $this->Form->input('first_name');
    echo $this->Form->input('last_name');
    echo $this->Form->input('email');
    echo $this->Form->end('Save Profile');
?>

Однако, когда я отправляю форму, кажется, ничего не происходит.Я не получаю сообщение об успехе, и я также не получаю сообщение об ошибке.Если я добавлю инструкцию else для дополнения if ($this->User->save($this->request->data)), то этот блок кода будет выполнен, указывая, что данные модели User не сохранены.

Куда я иду?

1 Ответ

1 голос
/ 04 ноября 2011

Проверьте $ this-> User-> validationErrors в операторе else, если пользователь не сохранен.Держу пари, что у вас определены дополнительные правила проверки, которые не действуют для полей, не входящих в вашу форму.

...