你的语法不正确,你应该使用这样的:
{{ form_widget(form.skills,{ value : allocation.skills.skillsId, 'attr': {'class': 'right skillClass', } }) }}
注意
值必须是一个字符串,所以有两种方法可以实现这一目标
- 在您的控制器中设置默认值
- 将字符串传递给视图
- “转换”的整数到字符串中树枝
设置在控制器中
->add("skills", "choice", array("label" => "Skills", "choices" => $yourChoices, "attr" => array("class" => "right skillClass"), 'preferred_choices' => array(allocation.skills.skillsId)))
传递字符串到视图
形式的默认值
return $this->render("Bundle:view.html.twig", array("yourId" => (string)$yourId));
和使用yourId
进入树枝
{{ form_widget(form.skills,{ value : yourId, 'attr': {'class': 'right skillClass', } }) }}
“转换”的整数转换成字符串在树枝(很脏)
{{ form_widget(form.skills,{ value : "" ~ allocation.skills.skillsId ~ "", 'attr': {'class': 'right skillClass', } }) }}
你为什么不设置默认值时,你的形式? '$ builder-> add(...)' –
正确,实际上这应该是自动设置,但有一些自定义设置,因为在某些地方我需要做这样的任务manuallt .. –