2012-12-18 41 views

回答

0
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