创建一个'编辑配置文件'动作CakePHP 2.0?

时间:2011-11-04 14:15:14

标签: php cakephp cakephp-2.0 cakephp-appmodel

我遇到了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 个答案:

答案 0 :(得分:1)

如果未保存用户,请在else语句中检查$ this-&gt; User-&gt; validationErrors。我敢打赌,您已经定义了额外的验证规则,这些规则对于不在您表单中的字段会失败。