2010-04-25 10 views
5

continua a darmi dolore quando il profilo è nullo ... cosa posso fare?Gestione rotaie .Erb con Nils

+0

saluti rimossi: "Grazie in anticipo!", non farlo la prossima volta :) –

risposta

6

Questo dovrebbe funzionare,

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

Controllare sempre se una variabile è nil prima di utilizzarla in una vista.

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

Sono sicuro che c'è un più elegante soluzione al problema, ma che dovrebbe iniziare.

2

Prima dovresti decidere cosa vuoi fare quando non c'è un profilo. Vuoi visualizzare un'immagine predefinita? Nessuna immagine?

Supponendo che si desidera visualizzare un'immagine predefinita, è possibile aggiungere un metodo per il vostro aiuto:

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

e quindi chiamare tale metodo di supporto a vostro parere:

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