带PUT请求的Symfony2 HandlerRequest

带PUT请求的Symfony2 HandlerRequest,symfony,put,Symfony,Put,我在HandlerRequest中遇到一些问题: 这是我的密码: public function putAssetAction(Request $request, $id){ $em = $this->getDoctrine()->getManager(); $entity = $em->getRepository( 'BudgetBundle:Asset' )->find( $id ); $form = $this->createForm(

我在HandlerRequest中遇到一些问题:

这是我的密码:

public function putAssetAction(Request $request, $id){
    $em = $this->getDoctrine()->getManager();
    $entity = $em->getRepository( 'BudgetBundle:Asset' )->find( $id );
    $form = $this->createForm( new AssetType(), $entity, array('method' => 'PUT') );
    $form->handleRequest($request);
问题是表单数据是正确的,但是
$form->isValid()
返回
false
,因为
isSubmitted()
false

但是
$form->bind()
也不起作用,因为这是一个PUT请求,当我执行
bind($request)
时,
$form->getData()
返回
null

我将它用于FosRestBundle和主干网,对于测试请求,我使用chrome extension postman。

您可以尝试
submit()
而不是
handleRequest()
,例如:

$form->submit($request);

Thx,但当我提交时,$form->getData()返回只有id的实体,其他参数为空。这是什么意思?它被设置为
PUT
$this->createForm(新资产类型(),$entity,数组('method'=>'PUT'))
您应该真正使用
$form->submit($request->get($form->getName())请求
。它仍然可以工作,但在未来(3.0版)将无法工作。@Qoop这就是为什么我尝试使用
handleRequest
,在这种情况下,您的代码返回null。