다음과 같은 오류 메시지가 표시되고 .011을 사용하여 은으로 생각됩니다. 메서드 예외를 식별하여 오류가 발생하는 것을 피할 수 있습니다. 하지만 나는 그렇지 않습니다.레일즈에서 루비의 nil 클래스는 어떻게 피할 수 있습니까?
라인 40에서 오류가 발생하는 것으로 나타났습니다 ... contact.latest_event는 nil이라고 생각되는 것 같습니다. 그러나 .nil하지 말아야합니까? 오류가 발생하지 않도록 도와주십시오. 감사...! 여기
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>
가 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
나는 그것이 모델 contact_emails의 수 아무도 없다 생각, 예를 들어, 수행되었습니다 ...하지만이되지 않은 경우 어떻게해야합니까 그게 존재하니?
'latest_event' 메소드의 코드를 게시 하시겠습니까? –
방금 했어요 ... 고마워요 – Angela