我在视图中(view / 1),我想将一个参数传递给其控制器上的一个函数。
我试过这个:
echo $this->Form->create('Post', array('action' => 'move'));
但是,它没有传递URL上的param $ id。
我看到它在编辑视图中运行良好:
echo $this->Form->create('Post');
为什么它不能使用我的视图/控制器功能?
另外,如果我尝试用这样的东西传递它们:
echo $this->Form->create('Post', array('action' => 'move', 1));
它打印的内容如下:
<form action="/posts/move" 1="1"
由于
答案 0 :(得分:2)
要传递参数,您只需将参数传递给: -
echo $ this-&gt; Form-&gt; create(&#39; Post&#39;,array(&#39; action&#39; =&gt;&#39; move / 1&#39;));
在控制器中,
调试($这 - &GT;请求 - &GT; PARAMS [&#39;通过&#39;] [0]);
由于编辑视图已包含正在编辑的帖子的ID,因此我们不需要在表单create中明确传递id。
答案 1 :(得分:1)
以蛋糕风格传递:)
echo $this->Form->create('Post', array('action' => array( 'action' => 'move', 1 ) ));
-OR -
echo $this->Form->create('Post', array('url' => Router::url( array( 'action' => 'move', 1 ) ) ));
这将在考虑路由时实现它。