我的客户发现当他们点击删除时没有任何事情发生,但如果他们再次发现他们就会得到“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");
}
有谁知道这怎么可能?
答案 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
调整它