Fusionist
Fusionist

Reputation: 115

Laravel Store Method Error

hey Guys i am using resources route for posts i have store method in my PostsCOntroller controller that i created.

my form is

<div class='container-fluid'>
<form method='POST' action='PostsController@store'>
    <div class="form-group">
        <label for="exampleFormControlInput1">Text Area</label>
        <input type="text" class="form-control" 
        id="exampleFormControlInput1" placeholder="Enter Title">
    </div>

    <div class="form-group">
        <label for="exampleFormControlTextarea1">Body</label>
        <textarea class="form-control" id="exampleFormControlTextarea1" rows="5" placeholder="Enter Body"></textarea>
    </div>
    <button type="submit" class="btn btn-primary">Submit</button>

</form>

whenever i clikc submit i get this error

Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException thrown with message

Stacktrace:

#26 Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException in E:\XAMPP\htdocs\lsapp\vendor\laravel\framework\src\Illuminate\Routing\RouteCollection.php:255

#25 Illuminate\Routing\RouteCollection:methodNotAllowed in E:\XAMPP\htdocs\lsapp\vendor\laravel\framework\src\Illuminate\Routing\RouteCollection.php:242

#24 Illuminate\Routing\RouteCollection:getRouteForMethods in E:\XAMPP\htdocs\lsapp\vendor\laravel\framework\src\Illuminate\Routing\RouteCollection.php:176

#23 Illuminate\Routing\RouteCollection:match in E:\XAMPP\htdocs\lsapp\vendor\laravel\framework\src\Illuminate\Routing\Router.php:599

#22 Illuminate\Routing\Router:findRoute in E:\XAMPP\htdocs\lsapp\vendor\laravel\framework\src\Illuminate\Routing\Router.php:578

#21 Illuminate\Routing\Router:dispatchToRoute in E:\XAMPP\htdocs\lsapp\vendor\laravel\framework\src\Illuminate\Routing\Router.php:564

#20 Illuminate\Routing\Router:dispatch in E:\XAMPP\htdocs\lsapp\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php:176

#19 Illuminate\Foundation\Http\Kernel:Illuminate\Foundation\Http{closure} in E:\XAMPP\htdocs\lsapp\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:30

#18 Illuminate\Routing\Pipeline:Illuminate\Routing{closure} in E:\XAMPP\htdocs\lsapp\vendor\fideloper\proxy\src\TrustProxies.php:56

#17 Fideloper\Proxy\TrustProxies:handle in E:\XAMPP\htdocs\lsapp\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:149

#16 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline{closure} in E:\XAMPP\htdocs\lsapp\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53

#15 Illuminate\Routing\Pipeline:Illuminate\Routing{closure} in E:\XAMPP\htdocs\lsapp\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php:30

#14 Illuminate\Foundation\Http\Middleware\TransformsRequest:handle in E:\XAMPP\htdocs\lsapp\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:149

#13 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline{closure} in E:\XAMPP\htdocs\lsapp\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53

#12 Illuminate\Routing\Pipeline:Illuminate\Routing{closure} in E:\XAMPP\htdocs\lsapp\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php:30

#11 Illuminate\Foundation\Http\Middleware\TransformsRequest:handle in E:\XAMPP\htdocs\lsapp\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:149

#10 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline{closure} in E:\XAMPP\htdocs\lsapp\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53

#9 Illuminate\Routing\Pipeline:Illuminate\Routing{closure} in E:\XAMPP\htdocs\lsapp\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\ValidatePostSize.php:27

#8 Illuminate\Foundation\Http\Middleware\ValidatePostSize:handle in E:\XAMPP\htdocs\lsapp\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:149

#7 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline{closure} in E:\XAMPP\htdocs\lsapp\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53

#6 Illuminate\Routing\Pipeline:Illuminate\Routing{closure} in E:\XAMPP\htdocs\lsapp\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode.php:46

#5 Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode:handle in E:\XAMPP\htdocs\lsapp\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:149

#4 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline{closure} in E:\XAMPP\htdocs\lsapp\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53

#3 Illuminate\Routing\Pipeline:Illuminate\Routing{closure} in E:\XAMPP\htdocs\lsapp\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:102

#2 Illuminate\Pipeline\Pipeline:then in E:\XAMPP\htdocs\lsapp\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php:151

#1 Illuminate\Foundation\Http\Kernel:sendRequestThroughRouter in E:\XAMPP\htdocs\lsapp\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php:116

#0 Illuminate\Foundation\Http\Kernel:handle in E:\XAMPP\htdocs\lsapp\public\index.php:55

Upvotes: 3

Views: 12928

Answers (2)

m0z4rt
m0z4rt

Reputation: 1225

  1. define your route at file web.php

    Route::post('posts', 'PostsController@store')->name('posts.store');

  2. update your view template to

Upvotes: 0

Andriy Lozynskiy
Andriy Lozynskiy

Reputation: 2604

Your action is wrong. You should use url not action or controller name. Try this:

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

route helper generates url by route name. In your case it will return http://yourdomain/posts

Upvotes: 4

Related Questions