2017-10-05 10 views
1

保存ボタンのデータ属性を設定しようとしていますが、ネストされた中カッコが好きではありません。 "###この行"の行にエラーが表示されます。twigのネストされた中括弧(symfony)

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

    </li> 
{% endfor %} 

私は取得していますエラーです:ハッシュキーは引用符で囲まれた文字列、番号、名前、または括弧で囲まれた式でなければなりません(値の予期しないトークン「句読点」「{」

私はそれがネストされた括弧を好きではないと思います

すべてのヘルプは大歓迎です

+0

これを試してみてください。あなたがテンプレートとして 'file.id'を追加すると既にtwigステートメントに入っています) – YaatSuka

+0

こんにちはYaatSukaさん、このエラーが表示されます:テンプレートのレンダリング中に例外がスローされました(" Catchable Fatalエラー:クラス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':{'データファイルID':"%d "|形式(file.id)}}}}}' – YaatSuka

-2

試してみてください。

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

** line ** –

+0

例文書に基づいて: {#ウィジェットをレンダリングしますが、それに "foo"クラスを追加します#} {{form_widget(form.name、{'attr': {'class': 'foo'}})}} – PaulELI

0

ちょうどそれを試してみてください: `{{form_widget(file.save、{ 'のattr':{ 'データファイルID':ファイル

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