Отсутствуют обязательные параметры для [Route: havence.automail.delete] [URI: havence / automail / {automail}] - PullRequest
0 голосов
/ 28 февраля 2020

Я хочу удалить форму. Когда я применяю этот метод, это вызывает ошибку. Я приложил свой блейд-файл, контроллер и сеть.

Blade-файл

  <form action="{{ route('havence.automail.delete') }}" method="POST">
         @csrf
         @method('DELETE')
         <button type="submit" class="btn btn-danger">Delete</button>
  </form>

Контроллер

 public function destroy(AutoEmailTemplate $mailTemplates)
    {

        $mailTemplates->delete();

       return redirect('automail/index')->with('success','Mail template deleted');
    }

web. php

 Route::resource('havence/automail', 'Havence\AutoMailController', [
        'names' => [
            'index' => 'havence.automail.index',
            'create' => 'havence.automail.create',
            'show' => 'havence.automail.show',
            'store' => 'havence.automail.store',
            'edit' => 'havence.automail.edit',
            'update' => 'havence.automail.update',
            'destroy' => 'havence.automail.delete',
            'mail'=> 'havence.automail.mail',


        ]
    ]);

    //EmailReminder
    Route::get('api/email/create', ['as' => 'email.create', 'uses' => 'Havence\AutoMailController@create']);
    Route::get('automail/mail', 'Havence\AutoMailController@mail');
    Route::get('automail/index',['as'=>'email.index','uses' => 'Havence\AutoMailController@index']);
    Route::get('automail/delete',['as'=>'email.delete','uses' => 'Havence\AutoMailController@destroy']);

1 Ответ

0 голосов
/ 28 февраля 2020

По умолчанию Route :: resource сгенерирует нижеприведенный маршрут к функции назначения.

DELETE  /havence/automail/{automail}  destroy     havence.automail.delete

Вам необходимо передать параметры URL в маршрут удаления, поскольку маршрут уничтожения и контроллер ожидание привязки модели $ mailTemplates переменная.

// $ automail, являющаяся моделью или первичным ключом

<form action="{{ route('havence.automail.delete', $automail) }}" method="POST">
         @csrf
         @method('DELETE')
         <button type="submit" class="btn btn-danger">Delete</button>
  </form>
...