我已阅读this问题
树枝中的代码如下
{{ form_widget(form.skills,{ value : "{{allocation.skills.skillsId }}", 'attr': {'class': 'right skillClass', } }) }}
form.skills
创建一个选择框,{{allocation.skills.skillsId }}
始终返回选择框中存在的有效值。
但是这段代码不能正常工作,而直接数字常量工作非常精细。
{{ form_widget(form.skills,{ value : "5", 'attr': {'class': 'right skillClass', } }) }}
提前谢谢你能说出如何解决这个问题。
答案 0 :(得分:1)
你的语法不正确,你应该改用它:
{{ 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', } }) }}