Метод не допускает исключение HTTP - PullRequest
0 голосов
/ 13 июня 2018

Вот код формы HTML

<form method="POST" action={{ route('store') }} class="col s12">
        @csrf
        <div class="row">
          <div class="input-field col s6">
            <input name="task" id="task" type="text" class="validate">
            <label for="task">New Task</label>
          </div>
        </div>
        @include('partials.coworkers')
        <button type="submit" class="waves-effect waves-light btn">Add Task</button>
      </form>
      @isWorker
      <br><br><br>
      <form action="" class="col s6">
        <div class="row">
          <div class="input-field col s6">
            <select>
              <option value="" disabled selected>Send Invitation To</option>
              <option value="1">Option 1</option>
              <option value="2">Option 2</option>
              <option value="3">Option 3</option>
            </select>
            <label>Send Invitation</label>
          </div>
        </div>
        <a class="waves-effect waves-light btn">Send Invitation</a>
      </form>

Вот мой код для метода хранения внутри контроллера.

public function store(Request $request){
        if ($request->input('task')) {
            $task = new Task;
            $task->content = $request->input('task');
            Auth::user()->tasks()->save($task);
        }
        return redirect()->back();
    }

web.php:

Route::middleware(['auth'])->group(function(){
    Route::get('/', 'CrudApp@index');
    Route::get('/store', 'CrudApp@store')->name('store');
    Route::get('/edit/{id}', 'CrudApp@edit')->name('edit');
    Route::get('/update/{id}', 'CrudApp@update')->name('update');
    Route::get('/delete/id', 'CrudApp@delete')->name('delete');
});

Я хочу сохранить задачу в базе данных.как только я нажимаю "Сохранить", происходит MethodNotAllowedHTTPException, и я не могу понять, как решить проблему.

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Используя приведенную ниже команду, вы получите список маршрутов, где вы можете найти свой маршрут:

php artisan route:list

Тогда как @Adam ответ:

php artisan route:clear

php artisan route:cache

И в вашем запросе я думаю, что вы используете контроллер ресурсов.

Если вы используете метод ресурса, вам не нужно писать весь маршрут отдельно

Вы также можете написать свой маршрут в одну строку:

Route::resource('demo-segment', 'DemoController');

Вы также можете пропустить ненужный метод с вашего контроллера ресурсов

Route::resource('demo-segment', 'DemoController', [
    'except' => ['show', 'edit', 'update', 'destroy']  // This is not usable methods
]);

Спасибо, может помочь кому-то.

0 голосов
/ 13 июня 2018

Прежде всего:

php artisan route:cache 

сделайте это после любых изменений в файле маршрута (в вашем случае web.php).

А теперь ваш код.Посмотрите, вы используете POST:

<form method="POST" action={{ route('store') }} class="col s12">

, поэтому измените:

Route::get('/store', 'CrudApp@store')->name('store');

на:

Route::post('/store', 'CrudApp@store')->name('store');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...