2017-09-04 101 views
1

我有他在web.php代码路径文件夹中:laravel布线后不工作

Route::post('/benice', function(\Illuminate\Http\Request $request) 
{ 
    if(isset($request['action']) && $request['name']){ 
     if(strlen($request['name']) >0){ 
      return view('actions.nice', ['action' => $request['action'], 'name'=>$request['name']]); 
     } 
     return redirect()->back(); 
    } 
    return redirect()->back(); 
}); 

,这是home.blade.php视图文件夹中:

<form action="{{ route('benice') }}" method="post"> 
     <label for="select-action">Iwant to ...</label> 
     <select id="select-action" name="action"> 
      <option value="greet">greet</option> 
      <option value="hug">hug</option> 
      <option value="kiss">kiss</option> 
     </select> 
     <input type="text" name="name"/> 
     <button type="submit" class="btn btn-primary btn-block">Do an action</button> 
     <input type="hidden" value="{{ Session::token() }}" name="_token"> 
    </form> 

错误是:

Route [benice] not defined. (View: C:\wamp64\www\testLaravel\resources\views\home.blade.php) 

anyhelp将IM目前新赞赏laravel和仍然在学习谢谢

回答

5

路由名称与路由路径不一样。

添加名称的路径,像这样:

Route::post('/benice', function(\Illuminate\Http\Request $request) { 
    if(isset($request['action']) && $request['name']) { 
     if (strlen($request['name']) > 0) { 
      return view('actions.nice', ['action' => $request['action'], 'name' => $request['name']]); 
     } 
     return redirect()->back(); 
    } 
    return redirect()->back(); 
})->name('benice'); 
0

删除/从路线的起点

Route::post('benice', ...