在 Laravel 中,Blade 模板引擎提供了简洁的语法来生成 HTML 链接。通常,你会使用 route()
或 url()
函数来生成链接。
route()
函数,适用于基于路由名称生成链接。url()
函数,适用于直接指定路径或参数生成链接。route()
生成基于路由名称的链接假设你有一个名为 posts.show
的路由,它接受一个 id
参数:
// web.php
Route::get('/posts/{id}', [PostController::class, 'show'])->name('posts.show');
在 Blade 模板中,你可以这样生成链接:
<a href="{{ route('posts.show', ['id' => $post->id]) }}">{{ $post->title }}</a>
url()
生成直接指定路径的链接如果你想直接指定一个 URL 而不是基于路由名称,可以使用 url()
函数:
<a href="{{ url('/about-us') }}">About Us</a>
原因:
解决方法:
route()
或 url()
的参数与路由定义匹配。php artisan route:list
命令查看所有定义的路由,确认路由是否存在及其参数要求。假设原先的路由名称拼写错误:
<!-- 错误的链接 -->
<a href="{{ route('post.show', ['id' => $post->id]) }}">{{ $post->title }}</a>
修正后的代码:
<!-- 正确的链接 -->
<a href="{{ route('posts.show', ['id' => $post->id]) }}">{{ $post->title }}</a>
通过这种方式,你可以确保生成的 HTML 链接准确无误,并且能够正确地指向应用程序中的相应页面。
开箱吧腾讯云
第四期Techo TVP开发者峰会
serverless days
企业创新在线学堂
腾讯云GAME-TECH游戏开发者技术沙龙
云+社区技术沙龙[第5期]
北极星训练营
第四期Techo TVP开发者峰会
腾讯云GAME-TECH游戏开发者技术沙龙
云+社区技术沙龙[第7期]
北极星训练营
领取专属 10元无门槛券
手把手带您无忧上云