我在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行中。
路由问题可能是什么?
答案 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:clear
和php artisan route:cache
答案 1 :(得分:0)
我发现我的表单通过链接到主页
`require resource_path().'/sub-folder/write.php'`
,这就是导致错误的原因。
我将表格移到了主文档,并且问题已解决。
答案 2 :(得分:0)
我遇到了同样的问题,但是现在我解决了问题。
您需要执行以下步骤。如果您编写了正确的代码,然后出现此错误,则需要执行以下步骤。
清除缓存php artisan route:clear
和php artisan route:cache
一条一条地运行命令。如果您的问题仍未解决,则还需要执行第二步
运行此命令以重新加载作曲家composer dump-autoload