laravel post route不工作

1 php laravel

我在路径文件夹中的web.php中有他的代码:

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();
});
Run Code Online (Sandbox Code Playgroud)

这是在view文件夹里面的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>
Run Code Online (Sandbox Code Playgroud)

错误是:

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

任何帮助我将非常感谢我目前刚开始laravel并仍在学习谢谢你

Par*_*ras 6

路径名称与路径路径不同.

像这样添加名称到路线:

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');
Run Code Online (Sandbox Code Playgroud)