将时间戳映射到DateTime

时间:2014-11-16 22:03:05

标签: ruby-on-rails activerecord

<% current_user.events.find(:all, conditions: ("start" > DateTime.now )).limit(5).each do |e| %>
  <%= e.start %>
<% end %>

我收到此错误消息:

invalid date

这不起作用,因为格式不正确。 我可以使用e.start.to_date然后我可以将e.event与TimeDate.now进行比较,但我不知道如何将值映射到DateTime。

如果我这样做:

<% current_user.events.map! { |e| e.start.to_date }.limit(5).each do |e| %>
<%= e.start %> 
<% end %>

它是一个数组,因此是一个好的限制,选择Active Record方法不再有效。

基本上我想将所有起始值映射到日期,然后我想比较它们并仅显示今天的事件或未来事件,而不是过去。

你会如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

你可以尝试:

current_user.events.where("start > ?", Time.now.to_date)