首页 > 解决方案 > 在laravel中未定义路线[员工]?

问题描述

路线 [员工] 未定义。

这是我的web.php(路线)。

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

Route::resource('/staff', StaffController::class);

这是我的控制器。索引,创建页面在同一页面中。

public function index()
{
    $staffs = Staff::all();
    return view('staff', compact('staffs'));
}
public function create()
{
    return view('staff');
}
public function store(Request $request)
{
    $request->validate([
        'name' => 'required',
        'gender' => 'required',
        'salary' => 'required',
    ]);

    $staff = new Staff();
    $staff->name = $request->name;
    $staff->gender = $request->gender;
    $staff->salary = $request->salary;
    $staff->save();

    return redirect()->route('staff')->withSuccess('Done');
}

这是我的staff.blade.php,点击提交后发生错误(未定义路由)。

<form id="myForm" method="post" action="{{ route('staff.store') }}">
                        @csrf
                        <div class="user-box">
                            <input type="text" name="name" required="">
                            <label>Name</label>
                            @error('name')
                                <span class="invalid-feedback" role="alert">
                                    <strong>{{ $message }}</strong>
                                </span>
                            @enderror
                        </div>
                        <div class="user-box">
                            <input type="text" name="gender" required="">
                            <label>Gender</label>
                            @error('gender')
                                <span class="invalid-feedback" role="alert">
                                    <strong>{{ $message }}</strong>
                                </span>
                            @enderror
                        </div>
                        <div class="user-box">
                            <input type="text" name="salary" required="">
                            <label>Salary</label>
                            @error('salary')
                                <span class="invalid-feedback" role="alert">
                                    <strong>{{ $message }}</strong>
                                </span>
                            @enderror
                        </div>
                        <button class="a" id="a" value="submit" name="submit">Submit</button>

                    </form>

标签: laravellaravel-8

解决方案


没有任何名称路由称为staff,它将是staff.index

return redirect()->route('staff.index')->withSuccess('Done');

请参阅资源路由名称


推荐阅读