2016-01-20 73 views
0

我跟随laravel 5的基本快速入门。我只是因为我使用TwigBridge才允许使用枝条模板而不是刀片。当我尝试加载视图时出现错误。Laravel与TwigBridge method_field不工作

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

method_field应该是laravel中可用的默认辅助函数。我不确定为什么twigbridge没有找到它。有什么我想念我需要使这个功能可用于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 %} 

编辑2

我部分地理解了它。我不得不添加method_fieldconfig/twigbridge.php文件functions数组中:

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

这得到了它的运行功能,但是输出转换为HTML实体,因为它实际上使输入标签文本,而不是标签本身。所以我需要弄清楚,以避免输出。

+0

,那么我不认为法是提供给您。您需要手动设置该字段:'' –

+0

我正在使用5.2.10 – LoneWolfPR

+0

我认为该包没有提供该方法题。如果是这样的话,在TwigBridge GH repo上打开一个问题将会有所帮助。 –

回答

1

答案是你必须添加功能到config/twigbridge.php is_safe选项。这是可以做到这样说:如果你不使用5.1+

/app/config/twigbridge.php

'functions' => [ 
    // Other functions 
    'method_field' => [ 
     'is_safe' => [true], 
    ], 
],