Я пытался реализовать очень простой метод уничтожения для комментариев в форме, но мне не хватает чего-то, на что я никак не могу повлиять.При попытке запустить страницу просмотра я получаю сообщение об ошибке:
ErrorException (E_ERROR)
Missing required parameters for [Route: form.comments.destroy]
[URI: form/{form}/comments/{comment}].
(View: C:\distributor\resources\views\form\view.blade.php)
Мой файл маршрутов настроен так, как показано:
......
Route::resource('forms', 'FormController');
Route::get('/formSearch', ['as' => 'search', 'uses' => 'FormController@formSearch']);
Route::resource('form.comments', 'CommentsController');
Файл вида, в котором отображаются комментарии (и метод пытается вызвать его) устанавливается как:
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">Comments</h4>
</div>
<div class="panel-collapse" id="comments" data-context="5" aria-expanded="false">
<div class="panel-body">
@forelse ($form->comments as $comment)
<div class="form-group">
Comment By: <strong>{{ $comment->user_name }}</strong> at <strong>{{ $comment->created_at }}</strong>
</div>
<div class="form-group col-md-10">
<div class="form-control" readonly>{{ $comment->comment }}</div>
</div>
<div class="btn-group col-md-2">
<form action="{{ route('form.comments.destroy', $comment->id) }}" method="POST">
{{ csrf_field() }}
{{ method_field('DELETE') }}
<button class="btn btn-danger" type="submit" data-confirm="Are you sure you want to delete this comment?" value="delete">
<i class="fa fa-trash"></i> Delete
</button>
</form>
</div>
@empty
<div class="form-group">
<div class="form-control" readonly>No Comments Found</div>
</div>
@endforelse
<div class="form-group">
<label class="control-label">
<a href="#">Back To Top</a>
</label>
</div>
</div>
</div>
</div>
Наконец, в контроллере метод устанавливается как:
public function destroy($id){
$comment = Comment::find($id);
$comment->delete();
// Redirect
return redirect()->back()->with('status', 'Comment successfully deleted');
}
Есть идеи?