我正在删除“mob”然后重定向到索引页面。我的问题是,当我到达索引页面(显示所有怪物)时,如果我使用$this -> dispatcher -> forward()
,由于forward()
没有刷新页面的行为,删除的怪物仍会显示。
通常我使用response-> redirect()
来解决这个问题,但我不能在这里使用它,因为我使用调度程序来发送这样的参数。
return $this -> dispatcher -> forward(array('controller' => 'mob', 'action' => 'index', "params" =>array("alert" => "Mob deleted.")));
我的问题是,发送参数的最佳做法是什么,还要刷新页面,以便在调度后不会呈现删除的对象?
答案 0 :(得分:0)
我到了已删除的暴徒将要显示的索引页面(显示所有怪物) 由于forward()没有刷新页面的行为,仍然显示。
这并不完全正确,这与请求期间缓存数据库调用有关,或者您只是不刷新显示的数据。如果你提供了这两个动作的代码,我会说更多,但这并不难自行解决。您的索引操作必须在每次调用时加载模型集,因此如果您在转发操作中删除了模型,则该模型不应出现在转发操作的连续加载中。
通常转发比重新加载页面更好的技术 - 你没有真正的原因向服务器发出另一个请求。如果需要使用重定向,可以通过多种方式在页面之间传递警报,例如,将警报队列存储在会话或数据库中。 Phalcon有Flash组件用于显示闪烁消息,允许使用会话方法。