2017-10-05 121 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 } }) }}