Kohana 3中的控制器似乎不起作用,但在后台

时间:2011-07-21 03:53:41

标签: kohana kohana-3

我的客户发现当他们点击删除时没有任何事情发生,但如果他们再次发现他们就会得到“id”不再存在的错误。

我觉得很难相信,因为它实际上已离开页面,然后被重定向回帖子。

视图中的链接:

<h4>Current Logo Image <span class='del'>
 (<?= HTML::anchor("playlist/imgdelete/$playlist->id/$logo->type", 'delete'); ?>)
</span></h4>

控制器进程:

public function action_imgdelete($id, $type)
{
    DB::delete('images')->where('playlist_id', '=', $id)
                        ->where('type', '=', $type)->execute();
    Message::success('Image deleted');
    Request::current()->redirect("playlist/edit/$id");
}

有谁知道这怎么可能?

1 个答案:

答案 0 :(得分:1)

这可能是由于Kohana与您选择的浏览器之间存在双重阻塞缓存。

删除操作将会发生,但由于具有侵略性,页面的缓存不会显示任何更改。再次点击将无效,因为您已经执行了操作,但在您的结尾没有任何视觉注册。

您可以通过在模板中添加no-cache标头标记来解决此问题:

<meta http-equiv="cache-control" content="no-cache" />

Kohana设置的默认缓存时间是一分钟:

/**
 * @var  integer  Default lifetime for caching, in seconds, 
 *                 used by [Kohana::cache]. Set by [Kohana::init]
 */
public static $cache_life = 60;

你可以从 system / classes / kohana / core.php

调整它