0

さて、次のように設定された検索を行う必要があります。

From: (検索フィールド) To: (検索フィールド)

これらのフィールドと同じか、またはその間の日付のみを表示する必要があります。どうすればいいですか?

4

4 に答える 4

4

これはRailsガイドのパラグラフ2.2.1に書かれています:

Client.where("created_at >= :start_date AND created_at <= :end_date", {:start_date => params[:start_date], :end_date => params[:end_date]})
于 2012-08-31T20:09:13.637 に答える
0

以下のように条件を書くことができます。

User.where("created_at >= ? and end_date <= ?",from_date, end_date),where
from_date,end_date --> 必要な from_date と end_date は変数に格納されています

それが役に立てば幸い!!

于 2012-08-31T21:00:08.617 に答える
0

この種の検索には range を使用できます。例えば:

User.where(registred_at: from_field..to_field)

于 2012-09-01T00:21:22.547 に答える
0

最初に form_tag 検索でパラメータを設定します

= form_tag foo_path(@foo), :method => :get do
  = text_field_tag :start_date, params[:start_date]
  = text_field_tag :end_date, params[:end_date]
  = submit_tag "Search", :class => "btn btn-primary"

最も重要なのは、検索がインデックスにある場合、コントローラーでパラメーターを定義して設定することです

def index
  @foos = Foo.all
  if params[:start_date].present?
    start_date = Date.parse(params[:start_date])
    @foos = @foos.where("foo.foo_date >= ?", start_date)
  end
  if params[:end_date].present?
    start_date = Date.parse(params[:end_date])
    @foos = @foos.where("foo.foo_date >= ?", end_date)
  end
end
于 2014-07-07T17:47:53.110 に答える