Kohana模板控制器,没有自动渲染

Tam*_*Pap 0 templates controller kohana

我有一个扩展Controller_Template的控制器(Controller_Product).在Controller_Product中我有一些动作(创建,编辑等),我需要渲染模板,但有些动作(例如保存,删除)必须返回一个json对象,所以我不需要模板来被渲染.我怎么解决这个问题?

我可以在保存删除操作中将$ this-> auto_render设置为FALSE ,但在这种情况下也会创建模板,即使没有渲染也是如此.我认为在我不需要它时加载模板并不是很优雅.

有什么建议?

bad*_*tax 5

沿着这些方向的东西也许:

public function before()
{
        if (in_array($this->request->action(), array('save', 'delete')))
        {
                $this->auto_render = FALSE;
        }

        parent::before();
}
Run Code Online (Sandbox Code Playgroud)

[编辑]

更好的方法可能是检查ajax请求:

public function before()
{
        if ($this->request->is_ajax())
        {
                $this->auto_render = FALSE;
        }

        parent::before();
}
Run Code Online (Sandbox Code Playgroud)