0
在多種型號的輔助方法,我需要檢查,如果兩套日期重疊或沒有,所以我寫了下面的方法:如何界定跨應用程序
def do_dates_overlap(second_record)
test = ((self.pickupdate - second_record.returndate) * (second_record.pickupdate - self.returndate)).to_i
if test > 0
return "yes"
elsif test == 0
return "edge"
elsif test < 0
return "no"
end
end
但我不知道在哪裏把它放在多個模型中。順便說一句,現在我需要它在請求模型,但是當我把它放在請求模型,例如:
class Request < ActiveRecord::Base
def do_dates_overlap(second_record)
....
end
end
然後在控制檯作爲測試我跑Request.last.do_dates_overlap(Request.first)
,我得到了錯誤:NoMethodError: undefined method
do_dates_overlap」爲#`,所以不知道發生了什麼事...
謝謝!
這很好,謝謝!如果你不介意,我很樂意去學習......爲什麼當我把這個方法放入'class Request'本身並且在Request的一個實例上執行它時,我仍然得到了我收到的錯誤?這對我來說很困惑。 – james
@james因爲您將該方法定義爲「實例方法」,因此您應該將其用作「Request.new.do_dates_overlap」。如果你想將它定義爲一個'class method',你需要將它定義爲'def self.do_dates_overlap'。 – Almaron
你可能忘了'重新加載'你的控制檯。你的代碼是正確的 –