web-dev-qa-db-ja.com

Laravel 5.2 [Route:user.profile] [URI:user / {nickname} / profile]の必須パラメーターがありません]

このエラーが発生し続けます

ErrorException in UrlGenerationException.php line 17:

ページが読み込まれ、ログインしているとき。

これが私のnavの外観です

@if(Auth::guest())
                <li><a href="{{ url('/login') }}">Log In</a></li>
                <li><a href="{{ url('/register') }}">Sign Up</a></li>
            @else
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{{ Auth::user()->nickname }}<span class="caret"></span></a>
                    <ul class="dropdown-menu">
                        <li><a href="{{ route('user.profile') }}">Profile</a></li>
                        <li><a href="{{ route('user.settings') }}">Settings</a></li>
                        <li><a href="{{ url('/logout') }}">Log Out</a></li>
                    </ul>
                </li>
            @endif

私が抱えている問題は、{{route( 'user.profile')}}が機能しないということですか??

リンクをヒットするとwww.mydomain.com/User/SCRATK/profileは正常に動作しますが、このエラーのためにページが読み込まれませんか?

Missing required parameters for [Route: user.profile] [URI: user/{nickname}/profile].

これは私のルートファイルです

Route::group(['middleware' => 'web'], function () {
Route::auth();

Route::get('/', ['as' => 'home', 'uses' => 'BaseController@index']);

Route::group(['namespace' => 'User', 'prefix' => 'user'], function(){
    Route::get('{nickname}/settings', ['as' => 'user.settings', 'uses' => 'SettingsController@index']);
    Route::get('{nickname}/profile', ['as' => 'user.profile', 'uses' => 'ProfileController@index']);
});
});
15
SCRATK

ルートパラメータをrouteメソッドに渡す必要があります。次に例を示します。

<li><a href="{{ route('user.profile', $nickname) }}">Profile</a></li>
<li><a href="{{ route('user.settings', $nickname) }}">Settings</a></li>

これは、両方のルートのルート宣言に{nickname}が含まれているためです。たとえば$nicknameを使用しましたが、$nicknameを適切な値/変数に変更してください。たとえば、次のようになります。

<li><a href="{{ route('user.settings', auth()->user()->nickname) }}">Settings</a></li>
39
The Alpha

laravel 5.2の私のソリューション

{{ Form::open(['route' => ['votes.submit', $video->id],  'method' => 'POST']) }}
    <button type="submit" class="btn btn-primary">
        <span class="glyphicon glyphicon-thumbs-up"></span> Votar
    </button>
{{ Form::close() }}

My Routes File(ミドルウェアの下)

Route::post('votar/{id}', [
    'as' => 'votes.submit',
    'uses' => 'VotesController@submit'
]);

Route::delete('votar/{id}', [
    'as' => 'votes.destroy',
    'uses' => 'VotesController@destroy'
]);
3
Diego Quispe