0

私は squeel を使用しており、Event.rb モデルに検索メソッドがあり、text_field 入力からパラメーター (文字列) を受け取ります。

def self.search(search)
  if search
    self.where{date.month.strftime("%B").matches("%#{search}%")}
  else
    find(:all)
  end
end

私が達成しようとしているのは、ユーザーが Event.date.month で "fe" または "ap" 検索を入力して一致 ("2 月"、"4 月" など) を検索した場合です。現時点では、月の数字 02、04 などを入力するだけで動作しています。

助けていただければ幸いです

4

1 に答える 1

0

1 つのアプローチは、Chronic gemを使用して入力日付を解析し、それを使用してその日付のすべてのイベントを取得することです。

補足:find(:all)は非推奨です。self.all代わりに使用するか、self.scoped後でより多くのスコープをチェーンできるようにすることをお勧めします。

于 2013-02-11T21:17:40.070 に答える