隐藏事件start_time< Rails中的Time.now

时间:2015-11-08 05:34:10

标签: ruby-on-rails ruby postgresql

我有一个应用程序,用户可以根据他们选择的日期和时间生成事件。对于这些,我使用:new ArrayList<>t.date :event_date将数据存储在我的数据库中(开发中的MySql和生产中的Postgres)。我使用了这两种类型,因为我能够找到一个方便的bootstrap样式的datepicker和timepicker看起来很好。我现在遇到的问题是在我的事件索引页面上。我想将Feed限制为时间尚未过去的事件。也就是说,我想隐藏过去发生的事件。我能够在我的控制器中使用它来轻松限制日期:

t.time :start_time

但是因为时间列是从2000年开始格式化的,所以我无法想出根据时间限制事件的方法。由于我预计该应用仅在本地使用,因此时区不是问题。

1 个答案:

答案 0 :(得分:0)

我认为使用字符串作为时间会起作用。 您可以在语言环境文件中添加新格式以用于此查询:

time:
formats:
  time: "%I:%M:%S"

然后:

@events = Event.where('start_date >= ? AND start_time > ?', Date.today, I18n.l(Time.now, format: :time))

那就是说,评论者是对的,Rails中的时间列有点麻烦。