如上所述,当我在shell中使用时:
$this->requestAction('/sites/zaz/option1');
该动作未被触发。为了测试这个,我尝试了:
public function zaz($option1 = null) {
CakeLog::write('acces', 'action triggered');
return 'got it !';
}
行动尚未完成,并且没有任何日志。我的所有其他日志都可以正常工作。
所以我试过了:
$this->requestAction('/sites/actionwhichdoesntexist/option1');
我收到一条错误消息,指出该动作不存在。
我真的需要使用requestAction,因为我有一个模型/控制器,这个动作通常测试一个资源仍然存在。我想使用requestAction来顺利处理"请求"方面,这样我就可以构建更健壮的东西:
if(empty($this->request->params['requested']))
$this->redirect(array('controller'=>'proxies', 'action'=>'index', 'admin'=>true));
else
return true;
我试过2.4.1和2.5,没有任何事情发生,没有输出,即使我放了一个' die()'在行动中。
答案 0 :(得分:0)
如第一条评论中所述,我应该检查beforeFilter函数。