RouteCollection.php第179行中的Laravel(1/1)NotFoundHttpException

时间:2018-08-01 20:36:36

标签: laravel laravel-5 laravel-5.2 laravel-5.1

我在laravel中提交表单时遇到问题。我的表单结构看起来像这样。

<form  class="form-group" action="{{ route('writepoem') }}" 
method="post" name="publish" enctype="multipart/form-data"  
onsubmit="return validateForm();">
   <input type="hidden" name="_token" value="{{ Session::token() }}">
   <input type="text" name="user">
   <textarea name="poem"></textarea>
   <input type="submit" value="save">
</form>

我的web.php文件具有此路由。

Route::post('/writepoem', ['uses'=>'PoemController@postCreatePoem','as'=>'writepoem']);

我的PoemController。

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Poem;

class PoemController extends Controller
{ 
    public function postCreatePoem(Request $request)
    {   
        //validation
        $poem=new Poem();
        $poem->poem=$request['poem'];
        $poem->poem=$request['user'];



        //save poem
        $request->user()->poems()->save($poem);
        return redirect()->route('feed');
    }
}

提交表格时,我会收到此异常。

(1/1)NotFoundHttpException

在RouteCollection.php第179行中。

路由问题可能是什么?

3 个答案:

答案 0 :(得分:0)

如果您的路线指向site.com/writepoem并且此路线返回notfoundexception;这意味着2种可能的事情;

1)您的路由有一个组,该组有一个url的父命名空间

Route::group(['prefix' => 'poems'], function() {
    Route::post('/writepoem', ['uses'=>'PoemController@postCreatePoem','as'=>'writepoem']);
});

2)或您的路由文件已缓存。请试试; php artisan route:clearphp artisan route:cache

答案 1 :(得分:0)

我发现我的表单通过链接到主页

`require resource_path().'/sub-folder/write.php'`

,这就是导致错误的原因。

我将表格移到了主文档,并且问题已解决。

答案 2 :(得分:0)

我遇到了同样的问题,但是现在我解决了问题。

您需要执行以下步骤。如果您编写了正确的代码,然后出现此错误,则需要执行以下步骤。

  1. 清除缓存php artisan route:clearphp artisan route:cache一条一条地运行命令。如果您的问题仍未解决,则还需要执行第二步

  2. 运行此命令以重新加载作曲家composer dump-autoload

相关问题