2017-07-01 104 views
2

我知道这个问题可能已经完成,但我无法完成它的工作。如果有人能帮助我,我将非常感激。我安装了收集/表单,但答案也可以是html表单标签。如何在Laravel 5.3中使用PUT http动词提交表格

现在列出我的表单,我的路线和我的例外。

{{ Form::model(array('route' => array('casas.update', 238), 'method' => 'PUT')) }} 
    <input type="hidden" name="_method" value="PUT"> 

-

Route::resource('casas', 'CasasController'); 

例外: MethodNotAllowedHttpException在RouteCollection.php线218:

+0

你做什么要求吗?你的路线是'casas/1'(还是另一个id)? –

+0

你不需要你可以做一个简单的'post' – utdev

回答

4

随着普通的HTML /叶片

<form action="{{ route('casas.update', $casa->id) }}" method="post"> 
    {{ csrf_field() }} 
    {{ method_field('put') }} 

    {{-- Your form fields go here --}} 

    <input type="submit" value="Update"> 
</form> 

维尔特Laravel集体它可能看起来像

{{ Form::model($casa, ['route' => ['casas.update', $casa->id], 'method' => 'put']) }} 
    {{-- Your form fields go here --}} 

    {{ Form::submit('Update') }} 
{{ Form::close() }} 

在这两种情况下,它假定你传递一个模型实例$casa到您的刀片模板

在你的控制器

class CasasController extends Controller 
{ 
    public function edit(Casa $casa) // type hint your Model 
    { 
     return view('casas.edit') 
      ->with('casa', $casa); 
    } 

    public function update(Request $request, Casa $casa) // type hint your Model 
    { 
     dd($casa, $request->all()); 
    } 
}