2010-04-25 18 views
5

me sigue dando pena cuando el perfil es nula ... ¿qué puedo hacer?manejo .Erb con Nils rieles

+0

eliminado saludo: "¡Gracias de antemano!", no lo hagas la próxima vez :) –

Respuesta

6

Esto debería funcionar, también

<%= image_tag(this.profile.expiring_url(180)) rescue "no image!" %> 
7

Compruebe siempre si una variable es nil antes de usarlo en una vista.

<% image_tag this.profile.expiring_url(180) unless this.profile.nil? %> 

Estoy seguro de que hay una solución más elegante al problema, pero eso debería comenzar.

2

Primero debe decidir qué desea hacer cuando no hay ningún perfil. ¿Quieres mostrar una imagen predeterminada? No hay imagen en absoluto?

Suponiendo que quería mostrar una imagen predeterminada, puede agregar un método a su ayudante:

def expiration_url_for(profile) 
    (profile && profile.expiring_url(180)) || default_url 
end 

y luego llamar a ese método de ayuda en su opinión:

<%=image_tag expiration_url_for(this.profile)%>