2016-02-07 12 views
6

Wciąż otrzymuję ten błądlaravel 5,2 Zaginione wymagane parametry [Trasa: user.profile] [URI: użytkownik/{nick}/profil]

ErrorException in UrlGenerationException.php line 17: 

Gdy kiedykolwiek jakieś strona ładuje i jestem zalogowany .

Oto co mój nav wygląda

@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 

problem mam jest, że {{trasa ('user.profile')}} nie działa ??

Po kliknięciu linku www.mydomain.com/User/SCRATK/profile działa dobrze, ale strona nie ładuje się, ponieważ wystąpił ten błąd?

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

To złożyć moje trasy

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

Route::get('/', ['as' => 'home', 'uses' => '[email protected]']); 

Route::group(['namespace' => 'User', 'prefix' => 'user'], function(){ 
    Route::get('{nickname}/settings', ['as' => 'user.settings', 'uses' => '[email protected]']); 
    Route::get('{nickname}/profile', ['as' => 'user.profile', 'uses' => '[email protected]']); 
}); 
}); 
+0

udziału plików wasze drogi, ponieważ może to być problem, gdzie faktycznie określa, czy dać ci rozrusznik –

+0

i Właśnie przeszedłem trasy mam ich – SCRATK

+0

Mam wokół tego jak na razie Profile SCRATK

Odpowiedz

20

Trzeba przekazać parametry trasy do sposobu route, na przykład:

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

To dlatego, że obie trasy mają {nickname} w deklaracja trasy. Użyłem $nickname na przykład, ale upewnij się zmienić $nickname do odpowiedniej wartości/zmiennej, na przykład, może to być coś jak poniżej:

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

Tak, próbowałem

  • Settings
  • I to zadziałało dla mnie – SCRATK

    +0

    Dzięki za pomoc. Ive zmienił go na teraz teraz Profile SCRATK

    +0

    Wygląda trochę jak błąd, ponieważ nadal otrzymuję błąd, nawet jeśli metoda kontrolera, do której się wybierasz, ma domyślny parametr, np .: publiczny profil funkcji ($ nickname = null) {...} – Andrew

    1

    moje rozwiązanie w 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() }} 
    

    Moi trasy File (pod middleware)

    Route::post('votar/{id}', [ 
        'as' => 'votes.submit', 
        'uses' => '[email protected]' 
    ]); 
    
    Route::delete('votar/{id}', [ 
        'as' => 'votes.destroy', 
        'uses' => '[email protected]' 
    ]); 
    
    +2

    To jest nic dziwnego z tym pytaniem? Chodzi o wyświetlenie profilu, który nie wyświetla i nie usuwa głosów – SCRATK

    +0

    @DiegoQuispe, to naprawdę mi pomogło. Brakowało mi "$ video-> id" w akcji formularza i otrzymałem to z twojej odpowiedzi. +1 – manian

    Powiązane problemy