在GET中编辑具有ID的页面不存在resourcefull控制器

时间:2017-03-03 13:55:13

标签: php laravel-5.4

我似乎无法让我的编辑功能在我的资源丰富的控制器中工作。这是我的控制者:

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正常工作并显示在网址中。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

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

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

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

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

(以上将允许您保持您的网址相同)。

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

希望这有帮助!