404 未找到 laravel 路由

404 not found laravel routing

我的路线有什么问题?它无法重定向到我在 InfosController

中的 edit-info 表单

web.php

route::get('/info-admin/{$info}/edit','InfosController@edit');

信息-admin.blade.php

@foreach ( $info as $infos )
                <tr>
                <th scope="row" class="align-middle">{{ $loop->iteration }}</th>
                <td class="align-middle">{{ $infos->judul }}</td>
                <td class="align-middle">{{ $infos->konten }}</td>
                <td class="align-middle">{{ $infos->image }}</td>
                <td class="align-middle">{{ $infos->created_at }}</td>
                <td class="align-middle">{{ $infos->Updated_at }}</td>
                <td class="align-middle form">
                <a href="/info-admin/{{ $infos->id }}/edit"><button type="submit" class="btn btn-info mb-3">Edit</button></a>
                    <form method="POST" action="{{ route('infos.destroy', [$infos->id]) }}">
                        {{ csrf_field() }}
                        {{ method_field('DELETE') }}
                        <button type="submit" class="btn btn-danger">Hapus</button>
                    </form>
               </td>
           </tr>
@endforeach

InfosController@edit

public function edit($id)
    {
        return view('admin.edit-info');
    }

我做错了什么,为什么laravel找不到我的路线?

你的路线定义错误。

route::get('/info-admin/{$info}/edit','InfosController@edit');

应该没有 $ 并命名路线以便于 linking。

route::get('/info-admin/{info}/edit','InfosController@edit')->name('infos.edit');

与其对它进行硬编码,不如像在编辑中使用 destroy 一样使用路由 link。

<a href="{{ route('infos.edit', [$infos->id]) }}">

要检查您的路由是否定义正确,请在项目中尝试 运行。

php artisan route:list

您可以通过多种方式完成此操作:

<a href="{{action('InfosController@edit',$infos->id)}}">Edit</a>
<a href="{{ url('/info-admin/{$info}/edit'') }}">Edit</a>