Laravel 5.0破坏方法

时间:2015-12-22 19:21:13

标签: laravel-5

我可以弄清楚为什么我没有访问我的破坏方法。 叶片:

@foreach($advertisements as $advertisement)
<form class="form-horizontal" method="delete" action="advertisements/{{ $advertisement->id }}" accept-charset="UTF-8">

                <div class="form-group">
                  <h2> {{ $advertisement->title }}</h2>
                    {{$advertisement->city}} {{ $advertisement->type }}
                        <input class="btn-danger" type="submit" value="Delete add">
                </div>
        </form>

控制器:

public function destroy($advertisements)
{
    Advertisement::find($advertisements)->delete();

    return redirect('advertisements');

}

路线:列表 |删除|广告/ {广告} | advertisements.destroy | App \ Http \ Controllers \ AdvertisementsController @ destroy

1 个答案:

答案 0 :(得分:0)

来自官方laravel docs

  

HTML表单不支持PUT,PATCH或DELETE操作。因此,在定义从HTML表单调用的PUT,PATCH或DELETE路由时,您需要向表单添加隐藏的_method字段。使用_method字段发送的值将用作HTTP请求方法:

您应该更新表单标记并添加隐藏的输入字段_method:

<form class="form-horizontal" method="POST" action="advertisements/{{ $advertisement->id }}" accept-charset="UTF-8">
    <input type="hidden" name="_method" value="DELETE">