2016-07-19 52 views
2

我是laravel的新手,我發現很少像樣的教程來幫助我理解並開始使用它。
問題是 - >每當我想使用POST方法此異常引發MethodNotAllowedHttpException
但不同的是,可能的99%,誰問類似的問題,在我的情況下,它說的例外是in RouteCollection.php line 218,這是不尋常的,但不laravel 5.2.xRouteCollection.php中的MethodNotAllowedHttpException行218

下面是在該routes.php文件後梅索德:

Route::post('/ajouter_produit', 
[ 
    'uses'=>'[email protected]', 
    'as'=>'ajouter_produit', 
]); 

我甚至嘗試添加此方法來中間件路由組,但問題仍然存在。

這是我的控制器:

public function addProduct (Request $request) 
{ 

    $this->validate($request, [ 
     'label'=>'required|alpha', 
     'prix'=>'required|numeric', 
    ]); 

    $prod = new Product(); 
    $prod->label=$request['label']; 
    $prod->type=$request['type']; 
    $prod->prix=$request['prix']; 

    $prod->save(); 

    return view('welcome'); 

} 

,這是我的表單:

<form action="{{ route('ajouter_produit') }}" method="post" > 

    <input type="text" name="label" id="label"/> 

    <select name="type" id="type"> 
     <option value="1">Par unité</option> 
     <option value="2" selected>Par kilo</option> 
    </select> 

    <input type="text" name="prix" id="prix"/> 

    <button type="submit">Ajouter</button> 

    <input type="hidden" value="{{ Session::token() }}" name="_token"/> 

我也試過,但它提出了同樣的問題:

Route::post('/trypost', function() { 
    return 'hello post'; 
}); 

你能幫我嗎!

如果您需要任何其他來源請求它。
每一個努力將不勝感激。 謝謝

+0

缺少方法get。首先,您應該使用方法get返回視圖創建路線。接下來,在視圖頁面中,您將調用method post驗證並保存到您的模型中。 – mydo47

+0

你可以驗證你的路線使用命令'php artisan route:list' –

+0

已經嘗試過..沒有工作 –

回答

1

「@ mydo47:與方法缺少方法得到首先,你應該創建路線得到回報視圖接下來,在視圖頁面中,您可以調用method post validate並保存到您的模型中。「這解決了它

1

注意一下,如果你正在使用route(),它期待的路線名稱,如user.storeuser.update

所以我的建議是,儘量使用url()爲您打開的窗體上laravel

<form action="{{ url('ajouter_produit') }}" method="post" > 

詳情docs

+0

沒有問題,因爲它與其他get方法一起工作。感謝@ mydo47的建議:D –

相關問題