如何修复:方法 App\Http\Controllers\UserDashboard::view 不存在

问题描述 投票:0回答:1

我正在构建一个用户管理项目,一切似乎都很顺利,直到我开始看到这个错误: Method App\Http\Controllers\UserDashboard::view 不存在。 错误的方法调用 你是说 App\Http\Controllers\UserDashboard::validate() 吗?

这是 UserDashboard 控制器:

public function profile() {

        $title = "Profile";

        return $this->view('user.profile', compact('title'));
    }

    public function profileSettings() {

        $title = "Profile Settings";

        return $this->view('user.settings', compact('title'));
    }

    public function plans() {

        $title = "Plans";
        return $this->view('user.plans', compact('title'));
    }

    public function forum() {


        $title = "Forum";

        return $this->view('user.forum', compact('title'));
    }

    public function resources() {


        $title = "Resources";

        return $this->view('user.resources', compact('title'));
    }

    public function marketplace() {


        $title = "Marketplace";

        return $this->view('user.marketplace', compact('title'));
    }


    public function transactions() {


        $title = "Transactions";

        return $this->view('user.marketplace', compact('title'));
    }

    public function invoice_list() {


        $title = "Invoice List";

        return $this->view('user.invoice_list', compact('title'));
    }

现在,在同一个 UserDashboard 控制器上,dashboard 方法有效,其他控制器的其他方法也有效。

这是我的路线:

Route::get('/dashboard', [UserDashboard::class, 'dashboard'])->name('dashboard');
Route::get('/dashboard/profile', [UserDashboard::class, 'profile'])->name('user_profile');
Route::get('/dashboard/settings', [UserDashboard::class, 'settings'])->name('user_settings');
Route::get('/dashboard/forum', [UserDashboard::class, 'forum'])->name('user_forum');
Route::get('/dashboard/resources', [UserDashboard::class, 'resources'])->name('user_resources');
Route::get('/dashboard/marketplace', [UserDashboard::class, 'marketplace'])->name('user_marketplace');

Route::get('/dashboard/plans', [UserDashboard::class, 'plans'])->name('user_plans');

Route::get('/dashboard/invoice_list', [UserDashboard::class, 'invoice_list'])->name('user_invoice');
Route::get('/dashboard/transactions', [UserDashboard::class, 'transactions'])->name('user_transactions');

所以我无法访问 /dashboard/forum 和除 dashboard 之外的所有其他路线而没有错误 请问我该如何解决这个问题??

laravel laravel-8 laravel-blade
1个回答
0
投票

因为控制器没有view()方法,所以不能调用$this->view()。

正确的做法是:

return view('user.profile', compact('title'));
© www.soinside.com 2019 - 2024. All rights reserved.