2016-03-24 65 views
1

有很多人有這個問題,有一些解決方案,但我不能解決mine.Codes在那裏。當我去localhost:8000 /文章我得到我的文章。沒有問題。我可以去/文章/創建。但是,當提交我在RouteCollection.php行219錯誤中得到MethodNotAllowedHttpException。當我去文章/ 2我在RouteCollection.php行219錯誤中得到MethodNotAllowedHttpException。RouteCollection.php中的MethodNotAllowedHttpException行219一般錯誤

ArticleController.php

<?php 

namespace App\Http\Controllers; 

use App\Article; 
//use Illuminate\Http\Request; 
use Request; 

use App\Http\Requests; 

class ArticleController extends Controller 
{ 
    public function index(){ 
     $articles = Article::all(); 
     return view('articles.index',compact('articles')); 
    } 
    public function show($id){ 
     $article = Article::findOrFail($id); 
     return view('articles.show',compact('article')); 
    } 

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

    public function store(){ 
     $input = Request::all(); 
     return $input; 
    } 
} 

create.blade.php

@extends('app') 


@section('content') 
    <h1>Write a New Article</h1> 

    <br/> 

     {!! Form::open(['url' => 'article']) !!} 
     <div class="form-group"> 
      {!!Form::label('title','Title:')!!} 
      {!! Form::text('title',null,['class'=>'form-control']) !!} 
     </div> 
     <div class="form-group"> 
      {!! Form::label('body','Body:') !!} 
      {!! Form::textarea('body',null,['class' => 'form-control'])!!} 
     </div> 
     <div class="form-group"> 
      {!!Form::submit('Add Article',['class'=> 'btn btn-primary form-control']) !!} 
     </div> 
     {!! Form::close() !!} 

@stop 

index.blade.php

@extends('app') 

@section('content') 
    <h1>Articles</h1> 
    <br/> 
    <?php foreach ($articles as $article): ?> 
     <article> 
      <h2> 
       <a href="/article/{{$article->id}}">{{$article->title}}</a> 
      </h2> 
      <div class="body">{{$article->body}}</div> 
     </article> 
    <?php endforeach ?> 
@stop 

routes.php文件

<?php 

Route::get('about','[email protected]'); 
Route::get('contact','[email protected]'); 

Route::get('article','[email protected]'); 
Route::get('article/create','[email protected]'); 
Route::get('article/{id}','[email protected]'); 

Route::post('article','[email protected]'); 

編輯1 php artisan route:list輸出這裏:

GET|HEAD | about | App\Http\Controllers\[email protected]  
GET|HEAD | article | App\Http\Controllers\[email protected] 
GET|HEAD | article/create | App\Http\Controllers\[email protected] 
GET|HEAD | contact | App\Http\Controllers\[email protected] 

EDIT 2和解決方案

php artisan route:clear清楚你的路由表,並做php artisan route:list你會得到你的所有路由。它爲我工作得很好。

+0

您正在請求不支持發佈請求的路由。 Laravel使您能夠在路由中指定您的請求方法。並且不會讓您在需要獲取請求的頁面中請求發佈帖子。並會拋出一個MethodNotFound異常。 –

回答

1

嘗試在create.blade.php可以改變:

{!! Form::open(['url' => 'article']) !!} 

這樣:

{!! Form::open(array('route' => 'article.store')) !!} 

UPDATE

運行php artisan route:clear清除路由高速緩衝存儲器。

+0

不工作,我不認爲這是因爲這一點。我不記得,但我認爲這開始後使用窗體外觀 路線[article.store]沒有定義。 (查看:C:\ Users \ oguna \ Desktop \ Laravel Projects \ project \ resources \ views \ articles \ create.blade.php) –

+0

您說你的表單正在工作,並且在提交表單時出現錯誤。運行'php artisan route:list'併發布'articles.store'路線的所有信息。用php工匠路線編輯 –

+0

:list command –

相關問題