0

:UrlGenerationException는 : 매개 변수를 필요 누락 [경로 : topics.update] [URI : 주제/{주제}]이 오류 받고 있어요

:이 편집 사용자를 취할 것입니다 링크

Missing required parameters for [Route: topics.update] [URI: topics/{topic}]. (View: C:\xampp\htdocs\phpboards\resources\views\topics\edit.blade.php) 

입니다 국도

$topic = Topic::find($id); 
return view('topics.edit')->with('topic', $topic); 

이는 다음과 같습니다 :

<a href="/boards/topics/edit/{{$topic->id}}" class="btn btn-default">Edit</a> 

이 편집을위한 컨트롤러입니다

Route::get('/boards/topics/edit/{id}', '[email protected]'); 

이 편집의 형태이다 : 내가 잘못 여기

<div class="container"> 
    {!! Form::open(['action' => '[email protected]', 'method' => 'POST']) !!} 
     <div class="form-group"> 
      {{ Form::label('title', 'Title') }} 
      {{ Form::text('title', $topic->topic_title, ['class' => 'form-control', 'placeholder' => 'Title of the Post']) }} 
     </div> 
     <div class="form-group"> 
      {{ Form::label('desc', 'Desc') }} 
      {{ Form::textarea('desc', $topic->topic_body, ['class' => 'form-control', 'placeholder' => 'Description of the Post']) }} 
     </div> 
     {{ Form::submit('Submit', ['class' => 'btn btn-default']) }} 
    {!! Form::close() !!} 
</div> 

했을 무엇?

+0

@ParantapParashar 그러나 무엇을 ?? 및 컨트롤러에 대한 ?? –

+0

코드에 너무 많은 오류가 있습니다. –

+0

나는 당신이 여기에 당신의 업데이트 방법과 Route를 두어야한다고 생각한다. –

답변

1

대신 :

{!! Form::open(['action' => '[email protected]', 'method' => 'POST']) !!} 

사용

{!! Form::open(['url' => route('topics.update', $topic->id), 'method' => 'POST']) !!} 

경로에 대한 당신 업데이트 할 항목의 ID를 전달해야하기 때문에

. Controller @ method 표기법 대신 named routes을 사용하는 것이 더 합리적입니다.

+0

네, 효과가있었습니다. 고마워. –

1

귀하의 update() 메소드가 이미 TopicController에 구현되어 있음을 인정하십시오.

Route::put('/boards/topics/edit/{id}', '[email protected]'); 
//  ^^^ 

다음이하여 양식 개방을 변경 :

{!! Form::open(['action' => ['[email protected]', $topic->id], 'method' => 'put']) !!} 
//              ^^^^^^^^^^    ^^^ 

이 일을해야

먼저 다른 경로를 선언해야합니다.

+0

여전히 같은 오류 .. –

+0

당신은'Form :: open' 매개 변수를 수정 했습니까? 이 명령을 시도해보십시오 :'숙련 된 경로 : clear && 숙련 된 캐시 : clear' –

+0

위의 솔루션이 작동했습니다. 나는 이드의 이드를 지나치지 않고 있었다. 그것은 오류를 만드는 것이 었습니다. –