Cakephp 使用控制器内的另一个操作处理post操作
我有一个设计得非常糟糕的应用程序,其中索引操作在基于JavaScript的对话中显示一个表单,提交给ProcessAction,然后在成功或出错时重定向到索引。流程操作甚至没有视图:Cakephp 使用控制器内的另一个操作处理post操作,cakephp,cakephp-2.5,Cakephp,Cakephp 2.5,我有一个设计得非常糟糕的应用程序,其中索引操作在基于JavaScript的对话中显示一个表单,提交给ProcessAction,然后在成功或出错时重定向到索引。流程操作甚至没有视图: class UnicornsController { public function index($foo, $bar) { $this->set( array( 'unicorn' => $this->Uni
class UnicornsController
{
public function index($foo, $bar)
{
$this->set(
array(
'unicorn' => $this->Unicorn->findByFooAndBar($foo, $bar);
)
);
}
public function process()
{
$this->Unicorn->save($this->request->data);
$this->redirect(
array(
'action' => 'index',
$this->request->data['Unicorn']['foo'],
$this->request->data['Unicorn']['bar'],
)
);
}
}
我正在添加正确的错误报告。我正在尝试更改this->redirect部分,以便$this->request->数据不会丢失,并且我有机会以index.ctp中生成的形式再次显示它,但我无法正确执行此操作:$this->requestAction和$this->index都尝试渲染process.ctp。我是否错误地使用了它们或缺少正确的方法?如果要运行其他操作,可以使用Controller::setAction,它会更改请求中的操作参数,相应地设置要呈现的模板,并返回调用操作的可能返回值
public function process()
{
// ....
$this->setAction(
'index',
$this->request->data['Unicorn']['foo'],
$this->request->data['Unicorn']['bar']
);
}
另见