2014-04-16 253 views
0

我在树枝阅读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

你为什么不设置默认值时,你的形式? '$ builder-> add(...)' –

+0

正确,实际上这应该是自动设置,但有一些自定义设置,因为在某些地方我需要做这样的任务manuallt .. –

回答

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', } }) }} 
+0

不工作... :( –

+0

看到我的编辑,我试过了,它的工作.. – ponciste

+0

谢谢@ponciste,我得到了好运.. :) –