我目前有一个路由需要链接到控制器。控制器需要给予回projects.blade.php文件。它给了我主页。
这些是我目前拥有的路线
Route::get('/', [App\Http\Controllers\HomepageController::class, 'index'])->name('homepage');
Route::get('/projects', [App\Http\Controllers\HomepageController::class, 'index'])->name('projects');
这是当前控制器中的内容:
class projects extends Controller
{
public function index()
{
return view('projects');
}
}
然后我有我的刀片文件,其中包含:
@section('content')
<main>
<button href="upload.blade.php"> Make a project </button>
</main>
@endsection
我使用一个模板文件为我的html的其余部分。(不,我没有复制和粘贴到我的模板文件的主要,我检查)
你知道为什么会这样吗?我该怎么解决?我也有一个标准的laravel登录,我可以链接到没有任何问题。
2条答案
按热度按时间woobm2wo1#
路线名称:确保您的路由具有不同的名称非常重要。在您的代码中,主页和项目路由的名称都是“homepage”,这可能会导致冲突。将projects路由的名称更改为独特的名称,例如'projects':
按钮链接:刀片文件中的按钮使用了href属性,而该属性不是定义链接的正确属性。使用a标记创建超链接,并使用href属性指定正确的URL:
路由和控制器名称:确保控制器类的命名正确,并遵循Laravel的命名约定。它应该被命名为ProjectsController(大写的“P”),以符合Laravel控制器的约定。此外,确保控制器位于正确的目录中:
相应地更新您的控制器:
刀片文件位置:确保projects.blade.php文件位于resources/views文件夹中的正确目录中。它应该位于与控制器的命名空间匹配的文件夹结构中。例如,如果您的控制器位于App\Http\Controllers命名空间中,则刀片文件应位于resources/views/projects中。
eanckbw92#
这里有几个错误。
首先,你应该像这样改变你的路线:
之后,您的控制器将是: