2016-03-07 57 views
2

我想通過我的任務控制器保存一個表單數據。但是當我去網址來訪問我的表單。它顯示了以下錯誤:Laravel 5.2:RouteCollection.php中的MethodNotAllowedHttpException行219

MethodNotAllowedHttpException in RouteCollection.php line 219:

這裏是我的routes.php文件

<?php 
    Route::group(['middleware' => 'web'], function() { 
    Route::auth(); 

    Route::get('/', function() { 
    return view('welcome'); 
    }); 

    Route::get('/all_item','[email protected]'); 
    Route::post('/create_item','[email protected]'); 
    Route::get('/home', '[email protected]'); 
}); 

這裏是我的TaskController

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 
use App\Test; 
use App\Http\Requests; 
use Redirect; 

class TestController extends Controller 
{ 
    public function index() 
    { 
      $alldata=Test::all(); 
    //  return $alldata; 
      return view('test.itemlist',compact('alldata')); 
    } 


    public function create() 
    { 
      return view('test.create_item'); 
    } 


    public function store(Request $request) 
    {  
      $input = $request->all(); 
      Test::create($input);  
      return redirect('test'); 

    } 
} 

這裏是create_item頁(博形式/視圖頁)

@extends('layouts.app') 
@section('content') 
<div class="container"> 
    <div class="row"> 
     <div class="col-md-10 col-md-offset-1"> 
      <div class="panel panel-default"> 
       <div class="panel-heading">Create Item</div> 
       {!! Form::open(array('route' => 'Test.store','class'=>'form-horizontal','method' => 'patch')) !!} 
       {!! Form::token(); !!} 
        <?php echo csrf_field(); ?> 
     <div class="form-group"> 
      <label>Item Code</label> 
      <input type="text" name="item_code" class="form-control" placeholder="Code"> 
     </div> 
     <div class="form-group"> 
      <label>Item Name</label> 
      <input type="text" name="item_name" class="form-control" placeholder="Name"> 
     </div>   
     <button type="submit" class="btn btn-default">Submit</button> 
       {!! Form::close() !!} 
      </div> 
     </div> 
    </div> 
</div> 
@endsection 

回答

1

您使用的是形式PATCH的方法,但POST方法

路線嘗試

'method' => 'patch' 

變化

'method' => 'post' 
+0

錯字錯..我改變它仍然是同樣的問題。 – Hola

+0

嘗試使用POST方法爲Test.store定義路由 –

1

LaravelCollective的HTML only supports methods POST, GET, PUT DELETE 所以你可能要改變這種張貼或PUT

'method' => 'POST' 

你有沒有在你的Routes.php宣佈Test.store路線,所以嘗試添加的資源或命名路線:

Route::post('/store_item', [ 
    'as' => 'Test.store', 'uses' => '[email protected]' 
]); 
0

我可以看到@的TestController被創建後method.But它像一個get方法。嘗試通過請求$請求參數的創建method.Or否則,如果你真的需要爲創建方法get方法,改變在routes.php文件得到像這樣的方法,

Route::get('/create_item','[email protected]create'); 
相關問題