2
当我生成的symfony 1.4模块,它(例如)“新的”和“创建”这样的方法产生只显示建立部分):的Symfony代
public function executeNew(sfWebRequest $request)
{
$this->forward404Unless($request->isMethod(sfRequest::POST));
$this->form = new SomeForm();
if ($request->isMethod(sfRequest::POST)) {
$form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
if ($form->isValid())
{
$res_object = $form->save();
$this->redirect('results_show', $res_object);
}
}
}
什么是违约产生的原因是什么?我认为下面的方法更加紧凑,增加了较少的路由和操作,并且不会更改第一个和下一个(如果有错误)形式显示的URL。但默认的生成方法应该是最好的或最常用的。那么,Sensio实验室的人知道些什么,但我不知道?
但可能会出现这种情况。用户填写表单(some_form/new),但犯了一些错误(重定向到some_form/create)。他没有更多的时间来完成这项任务,但他希望将来完成一些填充(或者只是填写表格)。用户在这种情况下做什么?是 - 书签页面。但是当他回来时他会看到什么?! 404!因为他会返回到仅使用POST方法工作的动作(some_form/create)。我不认为这很好。 – kpower 2010-12-06 12:18:36