我目前在RubyOnRails数据库中有2个时间戳字段,定义为:
starttime:timestamp
endtime:timestamp
我想在我的控制器中编写一个简单的函数,如果它位于starttime&的范围内,则当前时间和返回TRUE。结束时间即可。
我怎么能这样做?
答案 0 :(得分:4)
假设你有这些的模型设置,你可以这样做:
def currently_in_range(model)
now = DateTime.now
model.starttime < now && now < model.endtime
end
你应该把它放在模特的课堂上。类似的东西:
class Thing < ActiveRecord::Base
...
def current?
now = DateTime.now
starttime < now && now < endtime
end
...
end
然后在您的控制器中,您只需拨打model.current?
答案 1 :(得分:1)
class YourModel < ActiveRecord::Base
def active?
(starttime..endtime) === Time.now.to_i
end
end
class YourController < ApplicationController
def show
@your_model = YourModel.first
@your_model.active?
end
end