名前付きルートを使用してURLリンクを生成しようとしています。たとえば、私はhttp://myapp.com/{token}
です。しかし、私は経路で多くの機能を使用していましたが、私が持っている結果はhttp://myapp.com/token
の代わりにhttp://myapp.com?token
です。名前付きルートでURLを作成するにはどうすればよいですか?
どうすればよいですか?
URLを生成する唯一の方法は、URLの名前なしでurl
という関数を使用することです。例:url('/reset', [$token])
。しかし、この場合は、私が使用したいルートの名前を使用していません。
本当の問題:
がブレードテンプレート// Password reset routes...
Route::get('reset/{token}', [
'as' => 'password.reset',
'uses' => 'Auth\[email protected]'
]);
:
<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>
結果は次のとおりです。
<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>
docsによると、 'route()'の2番目のパラメータは配列でなければなりません。 'route( 'password.reset'、['token' => $ token])' – ceejayoz
私は同じエイリアスを持つ2つの異なるルートを持っていることに気づくでしょう。それが私の問題でした。ルートの名前を変更すると、その機能はうまく機能します。 経路( 'password.reset'、[ 'トークン' => $トークン]) //パスワードリセットルート... ルート 'と' ::得る( 'リセット/ {トークン}'、[ = > 'password.reset'、 '使用' => 'Auth \ PasswordController @ getReset' ]); Route :: post( 'reset'、[ 'as' => 'password.reset_post'、 'は' => 'Auth \ PasswordController @ postReset'を使用します) ]); – juanmiguel431