0

我正在使用 CakePHP 3.1 并尝试为User模型呈现 json 索引响应。我按照CakePHP 手册页index.ctp在目录下创建src/Template/Users/json/,但该文件没有被控制器挂钩。我也试过src/View/Users了,也没用。我应该指定要渲染的文件还是其他?在src/Controller/UsersController.php,我有index()方法

$users = $this->paginate('Users'); $this->set(compact('users'));

4

1 回答 1

2

检查您的AppController.php. 从 3.1.0 版_serialize开始,默认设置为 true。因此模板文件都被忽略了。

public function beforeRender(Event $event)
{
    if (!array_key_exists('_serialize', $this->viewVars) &&
        in_array($this->response->type(), ['application/json', 'application/xml'])
    ) {
        $this->set('_serialize', true);
    }
}

您需要从beforeRender.

于 2015-11-07T23:37:17.617 回答