Добрый вечер, для школы, я пытаюсь создать простое приложение CRUD, используя laravel 6 и mongoDB.
Я могу читать, обновлять и удалять работающие, но Creat не работает с методом POST. поддерживается для этого маршрута. Поддерживаемые методы: GET, HEAD .. Я искал ответы здесь и на других сайтах, но я застрял на 2 дня (может быть что-то очень глупое, но я этого не вижу)
мои маршруты:
Route::get('/home', 'HomeController@index')->name('home');
Route::get('/post/{_id?}', 'PostController@form')->name('post.form');
Route::post('/post/save/', 'PostController@save')->name('post.save');
Route::put('/post/update/{_id}', 'PostController@update')->name('post.update');
Route::get('/post/delete/{_id}', 'PostController@delete')->name('post.delete');
form.blade:
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">Post Form</div>
<div class="card-body">
@if($data)
<form action = "{{Route ('post.update', $data->_id)}}" method="post">
@csrf
@method('PUT')
<div class="form-group">
<label for="usr">Title:</label>
<input type="text" class="form-control" name="title" value = "{{$data->title}}" >
</div>
<div class="form-group">
<label for="comment">Content:</label>
<textarea class="form-control" rows="5" name="content">{{$data->content}}</textarea>
</div>
<p align="center"> <button class="btn btn-primary">save</button></p>
</form>
@else
<form action = "{{Route ('post.form')}}" method="post">
@csrf
<div class="form-group">
<label for="usr">Title:</label>
<input type="text" class="form-control" name="title">
</div>
<div class="form-group">
<label for="comment">Content:</label>
<textarea class="form-control" rows="5" name="content"></textarea>
</div>
<p align="center"> <button class="btn btn-primary">save</button></p>
</form>
@endif
</div>
</div>
</div>
</div>
@endsection
, а мой PostController:
<?php
namespace App\Http\Controllers;
use App\Post;
use Illuminate\Http\Request;
class PostController extends Controller
{
//
public function form($_id = false){
if($_id){
$data = Post::findOrFail($_id);
}
$data = false;
return view ('post.form', compact('data'));
}
public function save (Request $request){
$data = new Post($request->all());
$data->save();
if($data){
return redirect()->route('home');
}else{
return back();
}
}
public function update (Request $request, $_id){
$data = post::findOrFail($_id);
$data->title = $request->title;
$data->content = $request->content;
$data->save();
/* return response()->json([
'name' => 'Abigail',
'state' => 'CA'
]); */
if($data){
return redirect()->route('home');
}else{
return back();
}
}
public function delete($_id){
$data = post::destroy($_id);
if($data) {
return redirect()->route('home');
}
else {
dd('error cannot delete this post');
}
}
}
Кто-нибудь знает, что мне не хватает?
Заранее спасибо