首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel 9线路问题返回404没有找到

Laravel 9线路问题返回404没有找到
EN

Stack Overflow用户
提问于 2022-05-02 14:19:35
回答 1查看 3K关注 0票数 2

我试图提出一个观点,但我总是得不到404我不知道如何再解决这个问题,如果有人能帮助我,我会很感激。欢迎任何帮助。提前谢谢。每个人都有一个美好的星期一。

CommunityPostController ->代码->

代码语言:javascript
运行
复制
public function creategif(Community $community)
{
    return view('posts.creategif', compact('community'));
}

Web路由

代码语言:javascript
运行
复制
Route::get('/', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
Route::get('u/{id}', [App\Http\Controllers\HomeController::class, 'user'])->name('user.view');

Auth::routes(['verify' => true]);


Route::group(['middleware' =>['auth', 'verified']], function (){

    Route::resource('communities', \App\Http\Controllers\CommunityController::class);
    Route::resource('communities.posts', \App\Http\Controllers\CommunityPostController::class);
    Route::resource('posts.comments', \App\Http\Controllers\PostCommentController::class);
    Route::get('communities/{community}/posts/creategif', [\App\Http\Controllers\CommunityPostController::class, 'creategif']);


    Route::get('posts/{post_id}/vote/{vote}', [\App\Http\Controllers\CommunityPostController::class, 'vote'])->name('post.vote');
});

视图文件结构

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-02 15:30:07

根据您的路线顺序和您发布的图片,可能会出现冲突。如您所见,您有用于路由的资源,在本例中,这种冲突可能发生在路由订单的基础上,而您的laravel实际上正在尝试获取一个post,而不是加载creategif路由。

在这种情况下,每次尝试访问creategif路由时,应用程序实际上都试图加载基于'communities.posts'路由的post。

因此,基于您的路由顺序中的冲突,这是很好的工作方式,创建或者任何其他与'communities.posts'相关的路由都应该正常工作,但是在其他方面,URL中的creategif可能会被认为是与'communities.posts'资源相关的路由。

将您的路由移到顶部,或者在本例中仅位于'communities.posts'路由的上方,不要忘记清除路由缓存。

代码语言:javascript
运行
复制
Route::group(['middleware' =>['auth', 'verified']], function (){

    Route::get('communities/{community}/posts/creategif', [\App\Http\Controllers\CommunityPostController::class, 'creategif']);
    Route::resource('communities', \App\Http\Controllers\CommunityController::class);
    Route::resource('communities.posts', \App\Http\Controllers\CommunityPostController::class);
    Route::resource('posts.comments', \App\Http\Controllers\PostCommentController::class);


    Route::get('posts/{post_id}/vote/{vote}', [\App\Http\Controllers\CommunityPostController::class, 'vote'])->name('post.vote');
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72088075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档