0
您好我是Laravel的新手,我正在关注视图部分和表单重用的laracast。获取MethodNotAllowedException使用laravel 5
我正好到编辑页面。在HTML看起来像这样:
@extends('app')
@section('content')
<h1>Edit: {!! $edu_content->title !!} </h1>
{!! Form::model($edu_content, ['method' => 'PATCH', 'url' => 'edu_contents/' . $edu_content->id ]) !!}
<div class="form-group">
{!! Form::label('title', 'Title:') !!}
{!! Form::text('title', null, ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('tags', 'Tags:') !!}
{!! Form::text('tags', null, ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('user_id', 'User ID:') !!}
{!! Form::text('user_id', null, ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('location', 'Location:') !!}
{!! Form::text('location', null, ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('file_size', 'File Size:') !!}
{!! Form::text('file_size', null, ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('uploaded_at', 'Created On:') !!}
{!! Form::input('date','uploaded_at', date('Y-m-d'), ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::submit('Add Edu content!', ['class' => 'btn btn-primary form-control']) !!}
</div>
{!! Form::close() !!}
@if ($errors->any())
<ul class="alert alert-danger">
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
@endif
@stop
当我查看网页源代码,但是,它说action="http://localhost/edu_contents"
而不是action="http://localhost/edu_contents/5"
像它应该。
然后,当我提交表单来更新我得到:
MethodNotAllowedHttpException in RouteCollection.php line 201:
in RouteCollection.php line 201
at RouteCollection->methodNotAllowed(array('GET', 'HEAD', 'POST')) in RouteCollection.php line 188
at RouteCollection->getRouteForMethods(object(Request), array('GET', 'HEAD', 'POST')) in RouteCollection.php line 140
at RouteCollection->match(object(Request)) in Router.php line 744
at Router->findRoute(object(Request)) in Router.php line 653
at Router->dispatchToRoute(object(Request)) in Router.php line 629
at Router->dispatch(object(Request)) in Kernel.php line 229
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 139
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in VerifyCsrfToken.php line 50
at VerifyCsrfToken->handle(object(Request), object(Closure))
at call_user_func_array(array(object(VerifyCsrfToken), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in ShareErrorsFromSession.php line 54
谁能解释的错误,为什么ID不会在行动中显示?
我的路线看起来像Route::resource('edu_contents','EduContentsController');
我试过了。同样的问题 – user3494047
这一个$ edu_content-> title可以打印标题吗?如果是的话,那一个:$ edu_content-> id什么可以打印出来? –
您是否尝试使用POST代替PATCH,检查laravel文档http://laravel.com/docs/5.1/routing#form-method-spoofing,HTML表单不支持PUT,PATCH或DELETE动作 – narendra