路线[工作人员]在laravel时未定义?

路线[工作人员]在laravel时未定义?,laravel,laravel-8,Laravel,Laravel 8,未定义路线[工作人员] <form id="myForm" method="post" action="{{ route('staff.store') }}"> @csrf <div class="user-box"> <input ty

未定义路线[工作人员]

<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>
这是我的web.php(路径)

这是我的控制器。索引、创建页面位于同一页面中

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,在这里单击submit后出现错误(路由未定义)


@csrf
名称
@错误('名称')
{{$message}}
@恩德罗
性别
@错误(‘性别’)
{{$message}}
@恩德罗
薪水
@错误('salary')
{{$message}}
@恩德罗
提交

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

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

请参见第一次删除您的
获取路线
所有内容均由
资源覆盖

Route::resource('/staff',StaffController::class);
此代码生成如下路由名称

路由名称
  • 职员索引
  • staff.create
  • 职员商店
  • 职员秀
  • staff.edit
  • staff.update
  • 职员,销毁
所以在你的代码中你需要这样做

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

ref link

您必须将->name('staff')添加到web.php路由::get。您在哪里看到错误?当访问特定的URL时?当运行redirect()行时?删除get路由
route::get('/staff')…
它将与您的资源路由冲突
return redirect()->route('staff.index')->withSuccess('Done');