Laravel 我的 post 方法(商店)表格不起作用

Laravel my post method (store) form not working

PostsController.php

 public function store(Request $request)
    {
 Post::create($request->all());
 return redirect('/posts');
}

我的观点create.blade.php在帖子目录

@extends('layout.app')



@section('content')

    <h1>Create Post</h1>

    <form action="/posts" method="post">

        <input type="text" name="title" placeholder="Enter title"> <!-- this name=title comes from create_posts_table -->
        {{--{{csrf_field()}}--}}
        <input type="submit" name="submit">

    </form>

@stop

路线

Route::resource('/posts','PostsController');

当我提交时,浏览器转到 localhost/posts 并显示:

Object not found!
The requested URL was not found on this server. The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.

If you think this is a server error, please contact the webmaster.

Error 404
localhost
Apache/2.4.33 (Win32) OpenSSL/1.1.0h PHP/7.2.5

没有记录不会保存

尝试:

<form action="{{ route('posts.store') }}" method="post">
    //
</form>

或者您可以阅读 this document 了解更多信息。并注意您不能通过浏览器调用 url 发送 post 请求。你可以为它提交一个表格

这有两个问题。

您正在使用资源路由,因此您需要适当地路由到存储方法:

 <form action="{{ route('posts.store') }}" method="post">

此外,您需要在其他控制器端点上欺骗方法,例如 DELETE 方法,因为它会因 POST 请求而失败,您可以这样做:

<form action="{{ route('posts.delete') }}" method="post">
    @csrf
    {{ method_field('DELETE') }}

看看这里,我在这个视频中只介绍了这一点 https://youtu.be/kPYtJo7RyUQ