Метод не разрешен - Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException Метод POST не поддерживается - PullRequest
1 голос
/ 01 декабря 2019

Я пытаюсь пройти курс обучения в Laravel, и я пытаюсь настроить простой метод CRUD, и я застрял на Create. У меня ошибка в Laravel, и я не понимаю, как ее решить, я пытался очистить route-cache, но не работает. Я смотрел некоторые ответы с этой ошибкой, но я не уверен, что они совпадают, так как я использую метод post в веб-файле. Фрагмент

Контроллер

namespace App\Http\Controllers;

use App\Todo;

use Illuminate\Http\Request;

class TodosControler extends Controller
{





public function index() 
{
    return view('todos.index')->with('todos', Todo::all());
}

//za pojedine 
public function show($todoId)
{
    //dd($todoId); //diedump isto kao die u PHPu

     // $todo = Todo::find($todoId);  onda ovo kad slozimo samo stavimo u return
     return view('todos.show')->with('todo', Todo::find($todoId));
}

public function create()
{
    return view('todos.create');
}

public function store()
{
  $data = request()->all();
  $todo = new Todo();
  $todo->name = $data['name'];
  $todo->description = $data['description'];
  $todo->completed = false;
  $todo->save();
  return redirect('/todos');
}


}

веб-файл

use App\Http\Controllers\AboutController;
use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    return view('welcome');
});

Route::get('todos' , 'TodosControler@index');

Route::get('todos/{todo}' , 'TodosControler@show');

Route::get('new-todos' , 'TodosControler@create');

Route::post('store-todos' , 'TodosControler@store');

Форма

    <form action="/store-todos" method="POST">
             @csrf
      <div class="form-group">
           <input type="text" class="form-control" name="name" placeholder="Name">
      </div>

      <div class="form-group">
            <textarea name="description" cols="5" rows="5" class="form-control" placeholder="description"></textarea>
      </div>

      <div class="form-group text-center">
             <button type="submit" class="btn btn-success">Create todo</button>
      </div>


  </form>

1 Ответ

1 голос
/ 01 декабря 2019

Я думаю, что здесь ошибка Route::get('new-todos' , 'TodosControler@create'). Может быть, вам нужно Route::post('new-todos' , 'TodosControler@create')

Надеюсь, что это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...