在 GET 中使用 ID 的编辑页面不存在 resourcefull 控制器

Edit page with ID in GET does not exist resourcefull controller

我似乎无法让我的编辑功能在我足智多谋的控制器中工作。这是我的控制器:

class UserController extends Controller{

   public function index()
   {
      return view('testindex');
   }

   public function test(){
      return 'test';
   }

   public function edit(User $user){
      return 'test2';    
   }


   public function create(){
      return 'test3';    
   }
}

我的路线:

Route::post('test','UserController@test');     
Route::resource('/','UserController');

这意味着编辑应该在资源控制器中。

创建作品但编辑不是,它给了我

NotFoundHttpException

这是表格:

<a href="{{$id}}/edit">Edit</a>

是的,变量 $id 有效并显示在 url。

我做错了什么?

这是因为您没有命名资源,即

Route::resource('user', 'UserController');

要解决这个问题,您需要将路线更改为:

Route::resource('/', 'UserController', ['parameters' => [
    '' => 'user'
]]);

(以上内容可让您保持网址不变)。

请注意,您必须将此 Route 保存在文件底部。

希望对您有所帮助!