【发布时间】:2019-11-28 00:38:20
【问题描述】:
我最近将我的控制器移动到了Admin 目录。
- 我改了命名空间:
namespace App\Http\Controllers\Admin; - 我已包含
Controller类:use App\Http\Controllers\Controller;
在我的控制器中,我重定向到控制器的 index() 操作。
return redirect()->action('ServiceController@index');
现在我收到以下错误:
InvalidArgumentException 操作 App\Http\Controllers\ServiceController@index 未定义。
我不知道如何在文档中声明新的操作重定向,所以我在这里发布我的问题。
路线
Route::group(['namespace' => 'Admin', 'prefix' => 'admin'], function () {
Route::resource('projects', 'ProjectController');
Route::resource('services', 'ServiceController');
Route::resource('projectFiles', 'ProjectFileController');
Route::get('seed', 'SeedController@seedDatabase')->name('seed');
});
这是我所说的控制器部分:
class ServiceController extends Controller
{
public function index()
{
return view('admin.services.index', [
'services' => Service::all()
]);
}
public function create()
{
return view('admin.services.create');
}
public function store(Request $request)
{
try {
Service::create([
'name' => $request->name,
'machine_name' => snake_case($request->name),
'description' => $request->description
]);
return redirect()->action('\App\Htpp\Controllers\Admin\ServiceController@index');
} catch (\Throwable $th) {
throw $th;
}
}
}
【问题讨论】:
-
您是否在顶部某处有
use声明?喜欢use App\Http\Controllers\Admin\ServiceController -
我在同一个控制器 @kerbholz 中进行重定向
-
存储一些数据后是否要重定向到不同的页面?我通常重定向到
route而不是操作:return redirect()->route('services.index');
标签: laravel-6