2017-06-19 15 views
0

名前付きルートを使用して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> 
+1

docsによると、 'route()'の2番目のパラメータは配列でなければなりません。 'route( 'password.reset'、['token' => $ token])' – ceejayoz

+0

私は同じエイリアスを持つ2つの異なるルートを持っていることに気づくでしょう。それが私の問題でした。ルートの名前を変更すると、その機能はうまく機能します。 経路( 'password.reset'、[ 'トークン' => $トークン]) //パスワードリセットルート... ルート 'と' ::得る( 'リセット/ {トークン}'、[ = > 'password.reset'、 '使用' => 'Auth \ PasswordController @ getReset' ]); Route :: post( 'reset'、[ 'as' => 'password.reset_post'、 'は' => 'Auth \ PasswordController @ postReset'を使用します) ]); – juanmiguel431

答えて

0
route('password.reset', [ 'token' => $token ]) 

があなた何をされ 私はこのようなルートを持っています書く必要があります

+0

私は試しましたが、URLの変数としてトークンを追加するだけなので、うまくいきません。 https://laravel51.app2/reset?token = bf8880513474a02 ...... – juanmiguel431

+0

あなたのルートに異なる別名を使用しましたか?出来た? –

+0

はい、私はそれをするだけでした。問題は同じ名前の2つのルートがあることでした。あなたが答えを受け入れるならば – juanmiguel431

関連する問題