2017-02-27 8 views
0

に記入されている間、必要なパラメータ例外がありません:deliver.playという名前のルートは、このように呼ばれているのparamが、私は次のルートを持っているLaravelプロジェクト、に取り組んでいるURL

Route::group(['middleware' => ['web', 'auth'], 'prefix' => 'deliver'], function() { 
    Route::get("{pitch}/play", "[email protected]")->name("deliver.play"); 
    Route::get('/', '[email protected]')->name('deliver'); 
}); 

<a href="{{ route("deliver.play", $pitch) }}"> 
    <span class="glyphicon glyphicon-picture" data-toggle="tooltip" data-placement="top" title="Go to Playmode"></span> 
</a> 

あなたが見ることができるように、私はルートに$ピッチパラメータを渡すには、しかし、実行時に、次のエラーがポップアップ表示されます:

ErrorException in UrlGenerationException.php line 17: 
Missing required parameters for [Route: deliver.play] [URI: deliver/{pitch}/play]. 
0通常 {pitch}のparamが与えられていない、しかし、私のブラウザのURLバーにparamはLaravelがすることが可能であるので、どのように私に

http://localhost:8000/deliver/empty-pitch-13/play

の完全なURLを与え、あることを意味

ルートに渡すパラメータimを見ない?それとも、私が行方不明のものがありますか?

ありがとうございました。

編集:

ルートリンク先のコントローラを追加するのを忘れました。ここでは、次のとおりです。

public function play(Pitch $pitch) 
    { 
     if ($pitch->hasPresentation()) { 
      $presentation = head($pitch->presentations); 
      return view("deliver.play.index", $presentation); 
     } 
     return redirect()->route('slides.create', $pitch); 
    } 
+0

のような関数にピッチのparamsを追加します。例外ページが表示されている場合は、アドレスバーにパラメータがあるURLをどのように表示していますか?別の行、ビューの他の場所、またはエラーの原因となっている他のビューではないと確信していますか? – Jonathon

答えて

0

はこれを試してみてください:

<a href="{{ route('deliver.play', ['pitch' => $pitch]) }}"> 

、あなたは絶対に罰金ルックスをやっているので、

Route::group(['middleware' => ['web', 'auth'], 'prefix' => 'deliver'], function() { 
    Route::get("{pitch}/play", "[email protected]", function($pitch){ 
    // 
    })->name("deliver.play"); 
    Route::get('/', '[email protected]')->name('deliver'); 
    }); 
+0

結果に何も変更しませんでした。私はまた、質問で使用された方法が、動作する他の多くのルートでも使用されていることに言及するのを忘れていました。 –

+0

私はあなたのパラメータにピッチを含める答えを編集しました。それを試してください –

+0

まだ私に同じ出力を与える –

関連する問題