是否可以在字段中设置的当前日期到期日期创建操作?

时间:2014-04-01 12:46:50

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

我在ActiveAdmin中有一个名为events的表。

有一个名为eventdate的字段,此处有一个事件的日期。

我希望能够有一个动作,当当前日期超过事件日期时,表格会在名为'事件结束的选择框中自动选择'。这基本上说事件已经过期了。

这是可能的还是有一个gem已经为ActiveAdmin做了这个?

很抱歉这是一个基本的问题,但这就是我所拥有的。

干杯

1 个答案:

答案 0 :(得分:1)

我会在您的活动模型上定义两件事:expired范围和expired?方法:

class Event < AR::Base
  scope :expired, -> { where('eventdate < ?', Date.today) }

  def expired?
    eventdate < Date.today
  end
end

要列出所有过期的活动,您只需致电:

Event.expired

如果列出所有事件并希望为过期事件添加一些自定义逻辑,则可以将此逻辑包装在if event.expired?中。

您可能也应该反转范围:

scope :not_expired, -> { where.not('eventdate < ?', Date,today) }