404未找到laravel路由

问题描述 投票:0回答:1

我的路线怎么了?它无法重定向到InfosController中的我的edit-info

表单

web.php

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

info-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)找不到我的路线?

laravel laravel-5 laravel-routing
1个回答
2
投票

您的路线定义错误。

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

应该没有$,并命名路由以便于链接。

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

而不是硬编码,也像编辑链接上的destroy一样使用route。

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

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

php artisan route:list
© www.soinside.com 2019 - 2024. All rights reserved.