我有一个Event
包含start_date
类型字段的模型datetime
。我有一个简单的模型方法,应该让我知道它start_date
是否已经处于活动状态,或者它是否尚未发生:
def future_event?
self.start_date >= DateTime.now
end
然后在我看来,我检查我需要加载哪个视图(基于事件是否现在正在发生或事件是否仍在未来)。我尝试了各种方法,例如将两者都转换为 Time 对象、字符串格式等……似乎没有任何效果,总是呈现相同的视图。这是我的视图代码:
<% if @event.future_event? %>
<%= render "pages/main_container_offline" %>
<%= render "pages/sidebar_offline" %>
<% else %>
<%= render "pages/main_container_online" %>
<%= render "pages/sidebar_live" %>
<% end %>
有任何想法吗?
编辑:
这是输出@event.start_date
:2012-06-10 10:20:00 UTC
这是输出DateTime.now
:2012-06-10T10:35:30-05:00
如您所见,格式不同。我不确定这是否是一个问题。
这是我的控制器方法,它设置@event
:
def index
@event = Event.active.order("start_date ASC").first
end
## model
scope :active, lambda {
where("end_date >= ?", DateTime.now)
}