【问题标题】:Laravel route not calling function of controllerLaravel路由不调用控制器的功能
【发布时间】:2018-01-09 20:39:34
【问题描述】:

我在页面(刀片)中有一个表单,它重定向到一个路由,该路由将在控制器中调用一个函数,但是它甚至没有进入函数内部,因为即使是一个简单的 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
}

【问题讨论】:

  • 你有什么错误吗?
  • 没有错误只是重定向到我的表单所在的同一页面
  • 试过composer dump-autoload ?
  • 是的,我试过 view:clear、cache:clear 和 composer dumpautoload
  • 是的,提交表单后它只是重新加载页面

标签: laravel controller routes


【解决方案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');
 });

这应该可行。希望这对某人有所帮助。

【讨论】:

    猜你喜欢
    • 2021-09-06
    • 2017-06-09
    • 1970-01-01
    • 2017-02-10
    • 2018-06-04
    • 1970-01-01
    • 2018-06-10
    • 2016-06-15
    • 1970-01-01
    相关资源
    最近更新 更多