Je reçois l'erreur suivante, et pensé en utilisant le .nil? méthode que je pourrais éviter d'obtenir une erreur en identifiant l'exception. Mais je ne le fais pas.Comment éviter les classes nulles en rubis sur rails?
La ligne 40 montre que j'obtiens une erreur ... il semble penser que contact.latest_event est nul. Mais ne devrait pas .nil? m'aider à éviter l'erreur? Merci...!
ActionView::TemplateError (undefined method `<=>' for nil:NilClass) on line #40
of app/views/companies/show.html.erb:
37: <p>
38: <%= full_name(contact) %>, <%= contact.status %><%= contact.titl
e %>,
39: <span class='date_added'>added <%= contact.date_entered %>
40: <% if !contact.latest_event.nil?%>
41: last event: <%= contact.latest_event.date_sent %>
42: <% end %>
43: </span>
Voici latest_event:
def latest_event
[contact_emails, contact_calls, contact_letters].map do |assoc|
assoc.first(:order => 'date_sent DESC')
end.compact.sort_by { |e| e.date_sent }.last
end
Je suppose qu'il est possible qu'aucun des modèles contact_emails, par exemple, ont été fait ... mais que dois-je faire s'il n'y a pas de qui existent?
Pourriez-vous s'il vous plaît poster le code de votre méthode 'latest_event'? –
juste fait ... merci – Angela