2016-04-12 12 views
1

fresh laravel 5.2.29がインストールされています。
私のroutes.php:私はブラウザで/aに行くときLaravel 5.2リダイレクトでフラッシュメッセージが保存されない

Route::group(['middleware' => ['web']], function() { 
    Route::get('/a', function() { 
     return redirect('/b', 302)->with('error', 'error description'); 
    }); 

    Route::get('/b', function() { 
     return session('error'); 
    }); 
}); 

それは/bに私をリダイレクトしますが、私には何も表示されません。私に何をすればいいのですか?error description?それとも、フラッシュデータを保存しないのですか?

答えて

4

基本的に、Laravel 5.2.27以降を実行している場合は、Webミドルウェアグループを使用しないでください。

protected function mapWebRoutes(Router $router) 
{ 
    $router->group([ 
     'namespace' => $this->namespace, 'middleware' => 'web', 
    ], function ($router) { 
     require app_path('Http/routes.php'); 
    }); 
} 

再度ウェブミドルウェアを適用しようとした場合、あなたはあなたが現在直面しているかのような奇妙な問題に実行されます:あなたがapp/Http/RouteServiceProvider.phpで見ることができるように、デフォルトでは、あなたのために適用されます。

+0

ありがとうございます。しかし、私の2番目のプロジェクトではすべてのルートが 'web'ミドルウェアを使用しており、すべて正常に動作するのは奇妙です。 2番目のプロジェクトのバージョンも5.2.29です。 – melihovv

+1

@melihovv古いバージョンから5.2.29に更新した場合は、あなたの 'vendor'ディレクトリだけが更新されるので、あなたには影響しません。これはLaravelの新規インストールにのみ影響します。言い換えると、コンポーザーアップデートを実行すると、 'app'ディレクトリは決して変更されず、最新の' RouteServiceProvider'は 'app'ディレクトリにあります。 –

関連する問題