2016-01-20 8 views
0

Я следую за основным быстрым стартом с laravel 5. Я отклоняюсь только тем, что я использую TwigBridge, чтобы позволить мне использовать шаблоны ветви вместо лезвия. Я получаю ошибку, когда пытаюсь загрузить мой просмотр.Laravel with TwigBridge method_field не работает

Unknown "method_field" function in "/home/vagrant/laravel-test/resources/views/tasks.twig" at line 63. 

method_field должно быть доступной по умолчанию вспомогательной функцией в laravel. Я не совсем уверен, почему твигбридж не находит его. Есть что-то, что мне не хватает. Мне нужно сделать эту функцию доступной TwigBridge?

Редактировать

Вот мой код:

{% if tasks|length > 0 %} 
    <div class="panel panel-default"> 
     <div class="panel-heading"> 
      Current Tasks 
     </div> 

     <div class="panel-body"> 
      <table class="table table-striped task-table"> 

       <!-- Table Headings --> 
       <thead> 
        <th>Task</th> 
        <th>&nbsp;</th> 
       </thead> 

       <!-- Table Body --> 
       <tbody> 
        {% for task in tasks %} 
         <tr> 
          <!-- Task Name --> 
          <td class="table-text"> 
           <div>{{ task.name }}</div> 
          </td> 

          <td> 
           <form action="{{ url('task/'~task.id) }}" method="POST"> 
            {{ csrf_field() }} 
            {{ method_field('DELETE') }} 

            <button>Delete Task</button> 
           </form> 
          </td> 
         </tr> 
        {% endfor %} 
       </tbody> 
      </table> 
     </div> 
    </div> 
{% endif %} 

Edit 2

Я частично понял. Я должен был добавить method_field в файл config/twigbridge.php в functions массиве:

'functions' => [ 
    'elixir', 
    'head', 
    'last', 
    'method_field', 
]. 

Это заставило его запустить функцию, однако выход преобразуется в HTML сущности, потому что на самом деле делает текст ввода тегов вместо самого тега , Поэтому мне нужно выяснить, чтобы избежать выхода.

+0

Если вы не используете 5.1 +, то я не думаю, что метод доступен для вас. Вам нужно будет установить поле вручную: '' –

+0

Я использую 5.2.10 – LoneWolfPR

+0

Я думаю, что пакет не предоставил для метода в вопрос. Если это так, открытие проблемы в репозитории TwigBridge GH поможет. –

ответ

1

Ответ заключается в том, что вы должны добавить функцию в конфигурацию/twigbridge.php с опцией is_safe. Это можно сделать так:

в /app/config/twigbridge.php

'functions' => [ 
    // Other functions 
    'method_field' => [ 
     'is_safe' => [true], 
    ], 
], 
Смежные вопросы