Laravel路由不调用控制器的功能

时间:2017-08-02 14:40:03

标签: laravel controller routes

我在页面(刀片)中有一个表单,它重定向到一个调用控制器中的函数的路由,但它甚至不进入函数内部,因为即使是简单的dd();无法执行。在路上,如果我改为

Route::post('edit/profile', function(Request $request){
dd($request);
});

它有效。我试图将路由的函数名称和控制器的函数名称更改为另一个仍无法识别的名称。

我目前的路线

Route::post('edit/profile', 'Auth\LoginController@updateUser');

我的表单

<form action="{{url('/edit/profile')}}" method="post">
{{ csrf_field() }}

我在LoginController中的功能

public function updateUser(Request $request)
{
    //insert code here
}

1 个答案:

答案 0 :(得分:1)

我知道现在已经很晚了,但你解决了这个问题吗?我有一个类似的问题,在auth组中,一条路线无法正常工作。在我的情况下,我不得不把路线放在“Route :: resource”之后。因此,请确保您正在制作具有标记资源的路由,并在Route :: resource之前添加其他路由。例如:

Route::group(['middleware' => ['auth']], function() { 
   Route::resource('category', 'CategoryController');
   Route::get('category/order', 'CategoryController@order')->name('categoryOrder');
});

这不起作用。只需将“类别/订单”路线放在资源路线之前,如下所示:

Route::group(['middleware' => ['auth']], function() { 
   Route::get('category/order', 'CategoryController@order')->name('categoryOrder');
   Route::resource('category', 'CategoryController');
 });

这应该有效。希望这有助于某人。