ページにクラスを適用して、何かが遅れていて注意が必要であることを示すかどうかを判断するために使用される2つのメソッドがあります。
まったく新しいユーザーが登録すると、エラーが発生します。
undefined method `last_contact_done_date=' for #<User:0x6183708>
エラーを参照している行は次のとおりです。
2: <div class="span3 <%= "overdue" if (signed_in? && contact_overdue?(current_user.id)) %>">
方法はこれです(contact_overdue?
ホームページヘルパーで)
def contact_overdue?(user_id)
@user = User.find_by_id(user_id)
return true if (Date.today - (@user.last_contact_done_date ||= Date.tomorrow)) > 6
end
そしてlast_contact_done_dateメソッドはUser
モデルではこれです
def last_contact_done_date
self.contacts.order('date_done DESC').first.try(:date_done)
end
||=
メソッドで演算子を使用している場合、が。contact_overdue?
の場合は-1を返すと思いました。しかし、それは機能していないようです。どの演算子を使用する必要がありますか、または連絡先がない場合にメソッドから返されるようにメソッドを変更するにはどうすればよいですか?last_contact_done_date
nil
last_contact_done_date
contact_overdue?
false
contact_overdue?