我需要實現預訂功能,並確保預訂不會在Rails應用中重疊。如何測試兩個時間範圍是否重疊?
cover?
和between?
方法不是我所需要的。與相同型號的其他潛在範圍相比,我必須確保時間範圍的獨特性,並且有效地進行。
我認爲可以使用overlaps?
來完成。問題是,這這樣的事情返回TRUE:
(1..5).overlaps?(5..9)
=> true
如果我相比,預訂,截止權當另一開始(3:30 - 4:00
與4:00 - 4:30
),它會說,他們做的重疊,但他們在技術上沒有。那會是個問題吧?
ValidatesOverlap似乎處理的問題,包括邊緣重疊。
有什麼建議嗎?
什麼檢查範圍中的一個是否涵蓋其他範圍內的兩個端點? –
需要將其轉換成包含* miliseconds *的Time對象..我認爲 –
找到了這個gem:https://github.com/robinbortlik/validates_overlap,似乎可以處理包括重疊邊在內的rails問題。 –