mstdmstd
mstdmstd

Reputation: 3083

How fix redirecting with parameter have error

In my Laravel 5.8 app when there are no data in session I need to redirect to some default control.

I do

return redirect()->route('admin.oauthAdminCallback/' . $form_action);

When in routes/web.php defined :

Route::group(['middleware' => ['auth', 'isVerified', 'CheckUserStatus'], 'prefix' => 'admin', 'as' => 'admin.'], function () {    
    Route::get('oauthAdminCallback/{form_action}', [ 'uses' => 'Admin\EventsController@oauthAdminCallback']);//->name('oauthAdminCallback');

But I got error :

Route [admin.oauthAdminCallback/calendarActionUpdate] not defined.

If in first line $form_action has value : “calendarActionUpdate”. Which is correct way ?

MODIFIED : I tried this way

return redirect()->route('admin.oauthAdminCallback',$form_action);

and this way

        return redirect()->route('admin.oauthAdminCallback')->with([
            'form_action'   => $form_action,
        ]);

But in both cases I do not have amy error but method was not called!

In my routes/web.php :

Route::group(['middleware' => ['auth', 'isVerified', 'CheckUserStatus'], 'prefix' => 'admin', 'as' => 'admin.'], function () {
    Route::get('oauthAdminCallback', [ 'as' => 'oauthAdminCallback', 'uses' =>'Admin\EventsController@oauthAdminCallback']);

// The method below is not called!

public function oauthAdminCallback()
{
    session_start();

    die("-1 XXZ oauthAdminCallback");

return redirect( is ignored and I can not understand why?

Upvotes: 0

Views: 60

Answers (2)

Ruchita Sheth
Ruchita Sheth

Reputation: 860

Mention your route as

Route::group(['middleware' => ['auth'], 'prefix' => 'admin', 'as' => 'admin.'], function () {
    Route::get('oauthAdminCallback', [ 'as' => 'oauthAdminCallback', 'uses' => 'Admin\EventsController@oauthAdminCallback']);
});

And your callback as below

return redirect()->route('admin.oauthAdminCallback', $form_action);

Tried and tested.

Upvotes: 1

Mohammad hayajneh
Mohammad hayajneh

Reputation: 674

So you're calling the route by its name so

try this

return redirect()->route('admin.oauthAdminCallback',$form_action);

Upvotes: 2

Related Questions