2017-05-20 14 views
0

私はLaravelのポストフォーム(ステータス302)の後に同じフォームにリダイレクトされています。私はそれがどんなルートの問題か別の何かであるかどうか分かりません。Laravel 5.4 GETステータスへのポストへのリダイレクト302

私形式:

{!! Form::open(['route' => 'subscription.store']) !!} 
<script 
src="https://checkout.stripe.com/checkout.js" class="stripe-button" 
data-key="pk_test_xxxxxx" 
data-amount="2000" 
data-name="Name" 
data-description="2 widgets" 
data-image="https://stripe.com/img/documentation/checkout/marketplace.png" 
data-locale="auto" 
data-currency="cad"> 
</script> 
{!! Form::close() !!} 

ルート: Route::post('/subscription/store', 'Admin\[email protected]')->name('subscription.store')->middleware('can:admin-access');

Cntroller:

public function store(Request $request) 
    { 
    $user = User::find($request->user()->id); 
    $user->newSubscription('main', 'main')->create($request->input('stripeToken')); 

    if ($user->subscribed('main')) { 
     return redirect()->route('admin.dashboard'); 
    } 
    } 

クロームネットワークログ:

Request Method:POST Status Code:302 Found Remote Address:10.1.1.33:80 Referrer Policy:no-referrer-when-downgrade

ここに何か不足しているものや間違っているものはありますか?

答えて

0

デフォルトのリダイレクトを定義する必要があります。現在、ユーザーが登録されたときにのみリダイレクトされます。そうでない場合にリダイレクトするデフォルトルートを設定します。

public function store(Request $request) 
{ 
    $user = User::find($request->user()->id); 
    $user->newSubscription('main', 'main')->create($request->input('stripeToken')); 

    if ($user->subscribed('main')) { 
     return redirect()->route('admin.dashboard'); 
    } 

    return redirect()->route('admin.dashboard'); 
} 
0

私の間違いでした。私はミドルウェアを持っています。ミドルウェアはリクエストごとにサブスクリプションステータスをチェックする責任があり、誤ってコンストラクタで有効にしました。

関連する問題