2014-04-16 315 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,我得到了好運.. :) –