2015-10-07 27 views
0

我正在使用CakePHP 3.1並試圖呈現User模型的json索引響應。我沿着CakePHP manual page並在目錄src/Template/Users/json/下創建了index.ctp,但該文件沒有被控制器掛鉤。我也試過src/View/Users,這也沒有奏效。我應該指定一個文件來渲染還是其他的東西?在src/Controller/UsersController.php,我有index()方法與我應該在CakePHP 3中爲json視圖創建一個模板?

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

+0

您是否也[在路由中添加了json擴展](http://book.cakephp.org/3.0/en/development/routing.html#routing-file-extensions)? –

回答

0

檢查您的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中刪除該代碼。

相關問題