找不到404 laravel路由

时间:2019-12-01 11:06:07

标签: laravel laravel-5 laravel-routing

我的路线怎么了?它无法重定向到 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)找不到我的路线?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

您可以通过多种方式完成此任务:

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