5

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

ただし、年が現在の年と一致するかどうかに関係なく、結果を返したいと考えています。月日が一致していればOKです。これは可能ですか?

および列がフォーマットさstarts_atれます。したがって、フォームに年を設定しなくても、自動的に年が含まれます。ends_atdatetime

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

任意のポインタをいただければ幸いです。

4

1 に答える 1