0
我正在編寫預訂API,並且希望在用戶通過預訂應用程序時創建資產臨時保留。所以基本上,我需要一種方法來在我的數據庫中創建臨時記錄,這些記錄在一段時間過後會過期。關於我應該怎麼做的任何想法?Rails暫時創建記錄(暫停預訂應用程序)
我正在編寫預訂API,並且希望在用戶通過預訂應用程序時創建資產臨時保留。所以基本上,我需要一種方法來在我的數據庫中創建臨時記錄,這些記錄在一段時間過後會過期。關於我應該怎麼做的任何想法?Rails暫時創建記錄(暫停預訂應用程序)
class Reservation < ActiveRecord::Base
def reservation_has_ended
Time.now > reservation_datetime
end
# or...
def reservation_is_open
Time.now < reservation_datetime
end
# similarly...
scope is_open where(Time.now > reservation_datetime)
scope has_ended where(Time.now < reservation_datetime)
# ... but remember scopes are going away in rails 4.1...
end
我會再有一個cron作業,就說小時或每天,
清理舊的所有記錄> 1小時(或其他期間)。
你也可以把它的手動工作,從與控制器和模型,比如說更新動作的視圖鏈接觸發,
# Reservation View
<%= link_to("Purge records", Reservation.purge) %>
# Reservation Controller
def remove_old_reservations
Reservation.remove_old_reservations
end
# Reservation Model:
def remove_old_reservations
self.delete_all.where((Time.now - 1.hour) > reservation_datetime)
end