Я пытаюсь перенаправить маршрут на именованный маршрутизатор, содержащий переменную. Каким-то образом URL получает разложена на http://localhost:8000/users/reset_password?token=f3c6e64d3d5147fde8843af831ca4998
вместо http://localhost:8000/users/reset_password/f3c6e64d3d5147fde8843af831ca4998
(возражаете ?token=
)Вставить переменную в именованный маршрут с помощью Redirect :: route()
Из-за этого несоответствия в URL, который получает создан, используется неверный маршрут.
Redirect::route()
код выглядит следующим образом:
return Redirect::route('users.reset', array('token'=>$input['token']))
->withInput()
->with('error', $error_msg);
Мои маршруты определяются следующим образом:
Route::get('users/confirm/{code}', array('as' => 'users.confirm', 'uses' => '[email protected]'));
Route::get('users/forgot_password', array('as' => 'users.forgot', 'uses' => '[email protected]'));
Route::post('users/forgot_password', array('as' => 'users.forgot', 'uses' => '[email protected]'));
Route::get('users/reset_password/{token}', array('as' => 'users.reset', 'uses' => '[email protected]'));
Route::post('users/reset_password', array('as' => 'users.reset', 'uses' => '[email protected]'));
Route::resource('users', 'UsersController');
Команда php artisan routes
дает следующий вывод:
+--------+---------------------------------------+------------------+----------------------------------+----------------+---------------+
| Domain | URI | Name | Action | Before Filters | After Filters |
+--------+---------------------------------------+------------------+----------------------------------+----------------+---------------+
| | GET|HEAD users/confirm/{code} | users.confirm | [email protected] | | |
| | GET|HEAD users/forgot_password | users.forgot | [email protected] | | |
| | POST users/forgot_password | users.forgot | [email protected] | | |
| | GET|HEAD users/reset_password/{token} | users.reset | [email protected] | | |
| | POST users/reset_password | users.reset | [email protected] | | |
| | GET|HEAD users | users.index | [email protected] | | |
| | GET|HEAD users/create | users.create | [email protected] | | |
| | POST users | users.store | [email protected] | | |
| | GET|HEAD users/{users} | users.show | [email protected] | | |
| | GET|HEAD users/{users}/edit | users.edit | [email protected] | | |
| | PUT users/{users} | users.update | [email protected] | | |
| | PATCH users/{users} | | [email protected] | | |
| | DELETE users/{users} | users.destroy | [email protected] | | |
+--------+---------------------------------------+------------------+----------------------------------+----------------+---------------+
Пожалуйста, обновите свой код и покажите, как указать маршрут в файле '' routes.php'''. Тогда мы узнаем еще кое-что. –
Обновлено вопрос –