2016-04-04 13 views
2

Ich versuche, eine navbar-Verbindung zur Profilseite desjenigen zu erstellen, der angemeldet ist. Ich verwende Devise zur Authentifizierung. Es wirft verschiedene Fehler auf. Heres was ich bisher habe.Versucht, eine Verbindung zur Benutzerprofilseite herzustellen, rails

in der navbar

<li><% yield (:profile)%><%= link_to "My Account", profile_path(user)%></li>

in meine Routen

get '/:id', to: 'users#show', as: :profile

mein users_controller

class UsersController < ApplicationController 
 

 

 
    def show 
 
     @user = User.find(params[:id]) 
 
     if current_user [email protected] 
 
     redirect_to root_url 
 

 
    end 
 

 
end 
 
end

mit diesem seine Setup werfen diesen Fehler

"undefiniert lokale Variable oder Methode` Benutzer für # < #: 0x007fdb615f4940>"

irgendwelche Tipps zur Befestigungstechnik?

EDIT jetzt sein einen Fehler jederzeit werfen i in der Navigationsleiste auf einem anderen Link klicken ... heres ein Beispiel enter image description here

+0

Was ist Benutzer hier in Ihrem Navigationsleiste? Ist es current_user, der sich angemeldet hat? – LHH

Antwort

2

es current_user statt user

<li><% yield (:profile)%><%= link_to "My Account", profile_path(current_user)%></li> 

zu ändern versuchen sollte Benutzerprofil Route

get 'user/:id', to: 'users#show', as: :profile 
+0

ok, so dass es funktioniert, aber jetzt, wenn ich auf etwas anderes in der Navbar klicke es wirft einen Fehler ... – ncrouch25

+0

das Problem mit Ihrer Route, die Sie definiert. es passt zu jeder Route mit diesem get '/: id', zu: 'users # show', als:: profil – LHH

+0

Danke! Ich schätze die Hilfe! – ncrouch25

Verwandte Themen