J'essaie de générer un lien URL en utilisant une route nommée. Par exemple, j'ai http://myapp.com/{token}
. Mais, j'avais utilisé beaucoup de fonction avec la route mais le résultat que j'ai est http://myapp.com?token
au lieu de http://myapp.com/token
.Comment puis-je créer une URL avec un itinéraire nommé?
Que puis-je faire?
La seule façon de générer l'URL correcte est d'utiliser la fonction url
sans le nom d'URL. Par exemple: url('/reset', [$token])
. Mais dans ce cas, je n'utilise pas le nom de la route où c'est ce que je voudrais utiliser.
problème réel: J'ai une route comme ceci:
// Password reset routes...
Route::get('reset/{token}', [
'as' => 'password.reset',
'uses' => 'Auth\[email protected]'
]);
Un modèle de lame:
<a href="{{ url('/reset', [$token]) }}">Click here to reset your password</a>
<br>
<a href="{{ url(route('password.reset', $token)) }}">Click here to reset your password</a>
<br>
{!! link_to_route('password.reset', 'Click here to reset your password', $token) !!}
<br>
<a href="{{ route('password.reset', $token) }}">Click here to reset your password</a>
Le résultat est:
<a href="https://laravel51.app2/reset/72a560d23a1bf17eec336d07c169bd4c02d25e24ae3581977b4fa4aa4f4e3252">Click here to reset your password</a>
<br>
<a href="https://laravel51.app2/reset?72a560d23a1bf17eec336d07c169bd4c02d25e24ae3581977b4fa4aa4f4e3252">Click here to reset your password</a>
<br>
<a href="https://laravel51.app2/reset?72a560d23a1bf17eec336d07c169bd4c02d25e24ae3581977b4fa4aa4f4e3252">Click here to reset your password</a>
<br>
<a href="https://laravel51.app2/reset?72a560d23a1bf17eec336d07c169bd4c02d25e24ae3581977b4fa4aa4f4e3252">Click here to reset your password</a>
Par les docs, le second paramètre 'route()' devrait être un tableau. 'route ('password.reset', ['token' => $ jeton])' – ceejayoz
J'ai pu remarquer que j'ai deux routes différentes avec le même alias. C'était mon problème. Après avoir renommé les routes, la fonction fonctionne bien. itinéraire ('password.reset', [ 'jeton' => $ jeton]) // itinéraires de réinitialisation de mot de passe ... Route :: get ('reset/{jeton}', [ 'comme' = > 'password.reset', 'uses' => 'Auth \ PasswordController @ getReset' ]); Route :: post ('reset', [ 'as' => 'password.reset_post', 'uses' => 'Auth \ PasswordController @ postReset' ]); – juanmiguel431