2017-10-05 148 views
1

我想設置一個保存按鈕的數據屬性,但它不喜歡嵌套的大括號。我在「### THIS LINE」行中收到錯誤消息。嵌套在樹枝(symfony)的括號

{% for file in payment.files %} 
    <br> 
    <li> 
     ... 
     ... etc... 
     ... 
     {{ form_widget(file.save, {'attr':{'data-file-id': {{ file.id}} } }) }} ###THIS LINE 

    </li> 
{% endfor %} 

我得到的錯誤是:散列鍵必須是引用字符串,數字,名稱,或(價值「{」用括號括起來的表達式意外的標記「標點符號」

我猜它不喜歡嵌套的括號

任何幫助是極大的讚賞

+0

試試這個:'{{form_widget(file.save,{ 'ATTR':{ '數據文件ID':文件。當你添加'file.id'作爲參數時,你已經在一個樹枝聲明中了) – YaatSuka

+0

Hi YaatSuka,給出了這個錯誤:在呈現模板期間拋出了一個異常(「Catchable致命錯誤:類Symfony \ Component \ Form \ FormView的對象無法轉換爲字符串「)。 –

回答

0

嘗試file.id轉換成字符串:。

{{ form_widget(file.save, {'attr':{'data-file-id': file.id.__toString } }) }} 
+0

這給了我這個:既沒有屬性「__toString」也沒有一個方法「__toString()」,「get__toString()」/「is__toString()」/「has__toString()」或「__call()」存在並且公開訪問類「Symfony \ Component \ Form \ FormView」。 –

+0

然後:'{{form_widget(file.save,{'attr':{'data-file-id':「%d」| format(file.id)}})}}' – YaatSuka

-2

嘗試:

{{ form_widget(file.save, {'attr': {'data-file-id': file.id|string } }) }} 
+0

然後我只是得到相同的錯誤,但在** **行上 –

+0

基於示例文檔: {#呈現小部件,但向其添加「foo」類#} {{form_widget(form.name,{'attr': {'class':'foo'}})}} – PaulELI

0

試試看:

{{ form_widget(file.save, {'attr':{'data-file-id': file.id } }) }}