Rails 4 - 根据时间/日期更新属性

时间:2016-02-06 02:16:42

标签: ruby-on-rails ruby ruby-on-rails-4 activerecord

我在Rails 4上。

我目前有一个Room模型,其active?属性。创建房间时,用户可以设置他们希望房间活动的不同时间和日期。

我的目标:如果用户创建的房间的日期为3月3日 - 3月5日,我希望{3}在3月3日设置为active? 3月5日true。如果用户设定时间(例如上午10:00 - 下午5:00),则同样如此。

最好的方法是什么?无法找到任何文档。如果有人能指出我正确的方向,我将不胜感激。

2 个答案:

答案 0 :(得分:0)

目前还不清楚如何存储您的开始日期和结束日期,但假设您有start_dateend_date,那么您可以定义active?方法如下:

def active?
    Date.current >= start_date && Date.current < end_date
end

如果需要,将Date替换为DateTime

答案 1 :(得分:0)

添加预订表并记录用户预订时的日期时间。

class Reservation < ActiveRecord::Base
  attr_accessible :reservated_from, :reservated_to
  belongs_to :room
end

class Room < ActiveRecord::Base
  has_many :reservation
end