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