Porównaj Time.now w Rails, ale ignoruj rok?
Mam następujący kod w mojej aplikacji Rails 3:
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
Chcę jednak zwrócić wyniki bez względu na to, czy rok odpowiada bieżącemu rokowi, czy nie. Tak długo, jak pasuje dzień i miesiąc, jest dobrze. czy to możliwe?
Thestarts_at
iends_at
kolumny sądatetime
sformatowany. Będą więc automatycznie zawierać rok, nawet jeśli nie ustawię roku w postaci:
<%= f.datetime_select :starts_at, :order => [:day, :month], :discard_year => true %>
Wszelkie wskazówki będą mile widziane.