私はlaravelに新しく、ブログの簡単なアプリケーションを作成しようとしていましたが、投稿の詳細をデータベースに保存したかったのです。私は自分のデータベースとテーブルもlaravelコマンドを使ってセットアップしています。 iはデータベースにデータを格納するために、次のフォームを作成した:laravelを使用してフォームを送信する際にMethodNotAllowedHttpExceptionが発生しましたか?
@extends('main')
@section('title','| Create Post')
@endsection
@section('content')
<div class="row">
<div class="col-md-8 col-md-offset-2">
<h1>Create New Post</h1>
<hr/>
<form action="store" method="POST">
<div class="form-group">
<div class="form-group">
<label name="title">Title:</label>
<input id="title" name="title" class="form-control">
</div>
<div class="form-group">
<label name="body">Post Body:</label>
<textarea id="body" name="body" class="form-control"></textarea>
</div>
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input type="hidden" name="_method" value="POST">
<input type="submit" class="btn btn-success btn-lg btn-block" value="Save Post">
</div>
</form>
</div>
</div>
@endsection
次のように私が要求を提出するこのフォームのルート・ルールを作成した:
のPostControllerはここですべてのコントローラであるRoute::resource('posts','PostController');
を必要なリソースメソッドは
<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Post;
use Illuminate\Http\Request;
class PostController extends Controller {
public function index()
{
//
}
public function create()
{
return view('posts.create');
}
public function store(Request $request)
{
//validate the data
$this->validate($request,array(
'title' => 'required|max:255',
'body' => 'required'
));
//store in the database
$post = new Post;
$post->title = $request->title;
$post->body = $request->body;
$post->save();
//redirect to page
return redirect()->route('posts.show',$post->id);
}
public function show($id)
{
//
}
public function edit($id)
{
//
}
public function update($id)
{
//
}
public function destroy($id)
{
//
}
}
として処理およびデータ保存用に実装されている私持っているにもなりますコマンドプロンプトを使用して、私のルートをダウンリスト私は次の出力を受け取ります:
App \ Http \ Controllers \ PagesController @ getIndex | | | | GET |ヘッド|投稿| posts.index | App \ Http \ Controllers \ PostController @インデックス| | | | GET |ヘッド|投稿/作成| posts.create |アプリケーション\ Http \ Controllers \ PostController @ create | | | | POST |投稿|ポストストア| App \ Http \ Controllers \ PostController @ストア| | | | GET |ヘッド|投稿/ {posts} | posts.show | App \ Http \ Controllers \ PostController @ show | | | | GET |ヘッド|投稿/ {posts} /編集| posts.edit | App \ Http \ Controllers \ PostController @編集| | | | | PUT |投稿/ {posts} | posts.update | App \ Http \ Controllers \ PostController @アップデート| | | |パッチ|投稿/ {posts} | | App \ Http \ Controllers \ PostController @アップデート| | | | |投稿/ {posts} | posts.destroy | App \ Http \ Controllers \ PostController @ destroy
詳細を保存するためのフォームを送信した後、MethodNotAllowedHttpExceptionが発生します。
を'' –