2012-05-14 3 views
8

Noob, FOSRestBundle, JMSSerializerBundle 및 템플릿과 관련된 질문.양식이있는 FOSRestBundle 사용

현재 FOSRestBundle을 사용하기 위해 나뭇 가지를 통해 json을 출력하는 기존 코드를 대체하려고합니다. 이것은 콘트롤러에서 전달 된 콘텐트가 원래는 배열에있는 경우에 성공적 이었지만 이제 FOSRestBundle에 폼을 전달하려고 시도하고 있습니다. 결과는 결코 반환되지 않습니다.

{"children":{"_token": "mylongtoken","myValue": "SOMEVALUE"}} 

나는 내 코드를 내놓고 봤는데 :

아래 코드는 여기 볼 것으로 예상 무엇인가 있었는지 시나리오를

/** 
* my sample get action 
* @View(templateVar="form") 
*/ 
public function getAction($id) 
{ 
    ...   
    $form = $this->createFormBuilder(array('myValue' => 'SOMEVALUE')) 
     ->add('myValue', 'hidden') 
     ->getForm(); 

    $view = FOSView::create($form); 
    $view->setFormat('json'); 

    return $this->get('fos_rest.view_handler')->handle($view); 
} 

반환

{"children":{"_token":[],"myValue":[]}} 

를 복제 LiipHelloBundle에있는 예들, 나는 이것이 그들이 제공 한 예제와 일치한다고 오해하지 않는 한? 내가 잘못 가고있는 어떤 생각?

+0

뷰 핸들러에 전달하기 전에'$ form-> createView()'를 호출 할 필요가 없습니까? –

+0

흠. 아마도. createView를 사용하지 않고 '{ "children": { "_ 토큰": [], "myValue": []}}' createView를 사용하면 여전히 끝납니다 : '{ "_token": [], "myValue": []}' – MadManMonty

답변

2

OK, 정확히 깨끗한 솔루션 내가 심포니 내 기대하지만, 그렇게 작동하는 것 같다 :

{ "28":

$form->createView()->get('form')->get('form')->getChild('myValue')->get('choices') 

나에게 myValue의 실체를 돌려 "DEFAULT1 ","103 ":"test "}

+0

답변 해 주셔서 감사합니다 :) –

관련 문제