【问题标题】:Redirect to nested controller action重定向到嵌套控制器操作
【发布时间】: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


【解决方案1】:

我想我找到了答案,但如果我错了,任何人都可以纠正我。

RouteServiceProvider 中,命名空间设置为App\Http\Controllers

protected $namespace = 'App\Http\Controllers';

所以我决定在控制器名称之前添加 Admin\,现在重定向可以正常工作:

return redirect()->action('Admin\ServiceController@index');

【讨论】:

    猜你喜欢
    • 2012-10-27
    • 1970-01-01
    • 1970-01-01
    • 2016-02-06
    • 2011-08-06
    • 2014-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多