Tengo una aplicación donde en el diseño tengo un user_name div que mostrará diferentes cosas dependiendo de si están o no conectados, son administradores, etc. En este momento mi código es el siguiente :Ruby on Rails Else If Question
<% if current_user.role == "admin" %>
<p id="admintxt">You are an admin!</p>
<%= link_to "Edit Profile", edit_user_path(:current) %>
<%= link_to "Logout", logout_path %>
<% elsif current_user %>
<%= link_to "Edit Profile", edit_user_path(:current) %>
<%= link_to "Logout", logout_path %>
<% else %>
<%= link_to "Register", new_user_path %>
<%= link_to "Login", login_path %>
<% end %>
que tienen un ayudante current_user ya y todo estaba funcionando bien cuando el código era:
<% if current_user %>
<%= link_to "Edit Profile", edit_user_path(:current) %>
<%= link_to "Logout", logout_path %>
<% else %>
<%= link_to "Register", new_user_path %>
<%= link_to "Login", login_path %>
<% end %>
Ahora cuando yo le haga una declaración elsif, cuando estoy conectado como un administrador de TI funciona y obtengo el texto que se muestra con los enlaces correctos. Cuando no soy un usuario administrador/cerrado la sesión, aparece un método no definido 'papel' de cero: error NilClass ... También mis cosas current_user se declara en mi controlador de aplicación de la siguiente manera:
helper_method :current_user
private
def current_user_session
return @current_user_session if defined?(@current_user_session)
@current_user_session = UserSession.find
end
def current_user
return @current_user if defined?(@current_user)
@current_user = current_user_session && current_user_session.record
end
Alguna idea de lo Puedo hacer para mostrar el resultado que quiero? "Si son usuarios con el atributo de rol igual a admin, reciben algo de texto y de los enlaces, si solo son usuarios, obtienen los enlaces y, si no están conectados, obtienen los enlaces de registro y de inicio de sesión. .
Gracias!
Al ver esto, realmente aprecio haml. :) – jerhinesmith
He estado escribiendo 'erb' pero nunca me di cuenta de lo feo que es hasta que vi esto. Ahora aprecio reaccionar – Hanmaslah