2012-03-19 61 views
1

如何将$this->params['form']传递给我在requestAction中指定的控制器动作,以便我可以通过调用$this->params['form']以相同的方式使用变量?

这里是我想要什么(但不工作):

$this->requestAction('/reports/grid', array('params["form"]' => $this->params['form'])); 
$this->requestAction('/reports/grid', array('$this->params["form"]' => $this->params['form'])); 

回答

1
$this->requestAction('/reports/grid', array('form' => $this->params['form'])); 
0

按照1.3的文档,你需要指定要在发送请求关每个参数passnamed参数键 - http://book.cakephp.org/1.3/en/view/991/requestAction

echo $this->requestAction(array('controller' => 'articles', 'action' => 'featured'), array('named' => array('limit' => 3))); 

echo $this->requestAction(array('controller' => 'articles', 'action' => 'view'), array('pass' => array(5))); 

所以,它应该是这样

$this->requestAction('/reports/grid', array('pass' => array($this->params['form']))); 

注 - 您希望使用requestAction的原因很少。如果你还没有,请阅读罚则。

+0

关闭,但不完全。而不是'pass',我只需要使用'form',并移除包装参数的'array()。感谢您的洞察力:) – Garrett 2012-03-19 17:16:30

+0

您可以发布适合您的解决方案吗?它可能会帮助有同样问题的人。谢谢! – JohnP 2012-03-19 17:19:27