我正在构建一个用户管理项目,一切似乎都很顺利,直到我开始看到这个错误: 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 之外的所有其他路线而没有错误 请问我该如何解决这个问题??
因为控制器没有view()方法,所以不能调用$this->view()。
正确的做法是:
return view('user.profile', compact('title'));