Vergleichen Sie Time.now in Rails, aber ignorieren Sie das Jahr?

Ich habe den folgenden Code in meiner Rails 3-Anwendung:

  scope :active, lambda {
    where("starts_at <= ? AND ends_at >= ?", Time.now.utc, Time.now.utc)
  }
  scope :since, lambda { |hide_time|
    where("updated_at > ? OR starts_at > ?", hide_time.utc, hide_time.utc) if hide_time
  }

  def self.display(hide_time)
    active.since(hide_time)
  end

Ich möchte die Ergebnisse jedoch unabhängig davon zurückgeben, ob das Jahr mit dem aktuellen Jahr übereinstimmt oder nicht. Solange Tag und Monat übereinstimmen, ist es in Ordnung. Ist das möglich?

Dasstarts_at undends_at Spalten sinddatetime formatiert. Sie enthalten also automatisch ein Jahr, auch wenn ich in der Form keines angegeben habe:

<%= f.datetime_select :starts_at, :order => [:day, :month], :discard_year => true %>

Alle Hinweise wäre dankbar.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage