別のコントローラーからHTMLを生成するためにrequestAction()を使用する必要があるCakePHP1.3シェルがあります。その呼び出しのURLは、次を使用して生成されます。
$url = Router::url(array('controller' => 'my_controller', 'action' => $action_str));
$data = array('url' => array('ext' => 'json'),
'return' => 'return',
'pass' => array('an_id_str' => $an_id));
$ action_str、'an_id_str'、および$ an_idは、呼び出し間で変更される私のコード内の唯一のものであり、requestAction()はそのように呼び出されます。
$this->requestAction($url, $data);
注:$ action_strは呼び出しごとに変更される可能性があるため、個々のrequestAction()呼び出しごとに新しい$urlが生成されます。
requestAction()呼び出しが初めて行われるとき、それはうまく機能します。2回目にrequestAction()を呼び出すと、次のエラーがスローされます。
"Error: Missing Controller 'c:\...\cake\console'"
ルーターがこれを台無しにする原因となる可能性のあるアイデアと、それを修正するにはどうすればよいですか?
1つの注意-これは実際には、同様の機能を使用するいくつかの異なるシェルで発生します。