首页 > 解决方案 > 在 Laravel 中存储/提交表单时找不到页面

问题描述

我对 laravel 路线有疑问。我的代码昨天可以工作,但今天不行。当我提交它返回的表单时

错误:找不到页面

我已经将表单操作属性更改为路由中指示的 URL。但问题仍然存在。

Route::get('/products', 'Client\ProductController@index');

Route::get('/products/create-step1', 'Client\ProductController@createStep1');
Route::post('/products/create-step1', 'Client\ProductController@postCreateStep1');

Route::get('/products/create-step2', 'Client\ProductController@createStep2');
Route::post('/products/create-step2', 'Client\ProductController@postCreateStep2');

Route::get('/products/create-step3', 'Client\ProductController@createStep3');
Route::post('/products/create-step3', 'Client\ProductController@postCreateStep3');
Route::get('/products/create-step4', 'Client\ProductController@createStep4');
Route::post('/products/store', 'Client\ProductController@store')->name('store');

这是我的路线。

 public function store(Request $request)
{
    $client = Client::findOrFail(1);
    $transact = new Transaction();
    $transact->transact = $transact->generateTransaction();
    $transact->status_id = 1;
    $transact->client_id = $client->id;
    $transact->save();
    if($request->session()->get('quote1')){
        for($x = 1 ; $x<20; $x++){
            if($request->session()->get('quote'.$x)){
                $quote = $request->session()->get('quote'.$x);
                $rfq = new Quotation();
                $rfq->requestQuote($quote, $transact);
            }
        }
    }
    $origin = $request->session()->get('origin');
    $origin->transaction_id = $transact->id;
    $goods = $request->session()->get('goods');
    $goods->transaction_id = $transact->id;
    $dest = $request->session()->get('dest');
    $dest->transaction_id = $transact->id;

    if(!(($origin->save()) && ($dest->save()) && ($goods->save()))){

        return view('errors.503');
    }else{
        $request->session()->flush();
        return redirect('/Main');
    }

}

这是我的控制器

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

  //content of my form with submit button



 </form>

标签: phplaravel

解决方案


尝试运行 routes list 命令以查看是否列出了您的路线:

php artisan route:list

如果不是,你的路由文件是错误的。

或者可能是路由缓存问题,如果是这样,您可以使用以下方法清除它:

php artisan route:clear

推荐阅读