尽管在视图中传递了参数,但缺少路由所需的参数

Missing required parameter for route although parameter is passed in view

我遇到这样的错误:

Missing required parameters for [Route: resumenes.show] [URI: resumenes/{resumen}]. (View: .../resources/views/resumenes/index.blade.php)

控制器

public function index()
{
    $resumenes = Resumene::orderBy('title','ASC')->paginate();
    return view('resumenes.index', compact('resumenes') );
}

public function show(Resumene $resumen)
{

    return view('resumenes.show', [
        'resumen'=> $resumen
    ]);
}

路线

 Route::get('/resumenes/{resumen}', 'ResumeneController@show')->name('resumenes.show');

INDEX.BLADE.PHP 在此视图中显示错误

 @extends('layout')
 @section('title')
 Mis Resumenes
 @endsection

@section('content')
<h1>Mis Resumenes</h1>

@include('partials.sessions')

<a href="{{ route('resumenes.create') }}">Nuevo Resumen</a>
<ul>
    @forelse($resumenes as $resumen)
    <h2>{{ $resumen->title }}</h2>
            **<li><a href="{{ route('resumenes.show', $resumen) }}" ><button>Ir</button></a>** 
            <br> Creado hace {{ $resumen->created_at->diffForHumans() }} </li>
            <hr>
    @empty
            <li>No hay proyectos existentes</li>
    @endforelse
{{ $resumenes->links() }}
</ul>
 @endsection

错误应该是

   <li><a href="{{ route('resumenes.show', $resumen) }}" ><button>Ir</button></a>

查看您提供的代码似乎一切正常。

你应该试试:

php artisan view:clear

确保未使用旧视图。

如果没有帮助,你应该 运行:

php artisan route:list

确保此路由的 url 确实看起来像 /resumenes/{resumen} 因为路由定义可能更复杂(使用路由分组)所以完整的 url 可能如下所示: /something/{something}/resumenes/{resumen}