首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@编辑路径不工作..。显示404未找到

@编辑路径不工作..。显示404未找到
EN

Stack Overflow用户
提问于 2021-04-01 13:54:10
回答 1查看 71关注 0票数 0

@编辑路由没有创建。一切都很好,但显示404没有发现问题是在最后一条路线。我运行了路由:列表代码,但没有显示任何名为/profile/{user}/edit的路由,web.php代码->>>>>

代码语言:javascript
复制
<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ProfilesController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return view('welcome');
});

Auth::routes();



Route::get('/p/{post}','App\Http\Controllers\PostsController@show');

Route::get('/p/create','App\Http\Controllers\PostsController@create');

Route::post('/p','App\Http\Controllers\PostsController@store');

Route::get('/profile/{user}', [App\Http\Controllers\ProfilesController::class, 'index'])->name('profile.show');

Route::get('/profile/{user}/edit','ProfilesController@edit')->name('profile.edit');

配置文件控制器代码->>>>>

代码语言:javascript
复制
<?php

namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Http\Request;

class ProfilesController extends Controller
{

    public function edit(User $user)

    {
            return view('profiles.edit', compact('user'));
    }

    public function index(User $user)

    {
        return view('profiles.index', compact('user'));
    }

    
}

index.blade.php代码->

代码语言:javascript
复制
@extends('layouts.app')

@section('content')
<div class="container">
    <div><h1>here is a big design</h1></div>
    <br>
    <div class="d-flex justify-content-between align-items-baseline">
        <h1>{{ $user->username}}</h1>
        <a href="/p/create">Add New Post</a>
    </div>
    
    <a href="/profile/{{ $user->id }}/edit">Edit Profile</a>
    
    <div class="pr-5"><strong>{{$user->posts->count()}}</strong> posts</div>
    <div class="pr-5"><strong></strong> followers</div>
    <div class="pr-5"><strong></strong> following</div>
    <br>
    <div><h1>{{ $user->profile->title}}</h1></div>
    <br>
    <div><h1>{{ $user->profile->description}}</h1></div>
    <br>
    <div><h1>{{ $user->profile->url ?? 'N/A'}}</h1></div>
    <h1>Posts</h1>
    <hr>
    <div class="row pt-5">
        @foreach($user->posts as $post)
            <div class="col-4 pb-4">
                <a href="/p/{{$post->id}}">
                    <img src="/storage/{{$post->image}}" class="w-100">
                </a>
            </div>

        @endforeach
    </div>

</div>
@endsection
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-01 13:58:40

改变你的路线

代码语言:javascript
复制
Route::get('/profile/{user}/edit',[ProfilesController::class, 'edit'])->name('profile.edit');

您的方式'ProfilesController@edit'没有考虑到use App\Http\Controllers\ProfilesController;

非主题建议:既然您已经命名了您的路径,我建议您在刀片文件中使用指定的路径,而不是硬编码它们:

代码语言:javascript
复制
<a href="{{ route('profile.edit', $user) }}">Edit Profile</a>

而不是

代码语言:javascript
复制
<a href="/profile/{{ $user->id }}/edit">Edit Profile</a>

这样,如果您决定稍后更改一个URL,您只需要在web.php文件中更改它一次,而不是所有硬编码的出现。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66905854

复制
相关文章

相似问题

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