好的,所以我需要进行如下设置的搜索:
从:(搜索字段)收件人:(搜索字段)
它只需要显示这些字段之间的日期等于或介于这些字段之间。 我该怎么做?
答案 0 :(得分:4)
这是用Rails guides写的,第2.2.1段:
Client.where("created_at >= :start_date AND created_at <= :end_date", {:start_date => params[:start_date], :end_date => params[:end_date]})
答案 1 :(得分:0)
你可以写下面的条件,
User.where(“created_at&gt; =?and end_date&lt; =?”,from_date,end_date),其中
from_date,end_date - &gt;你需要将from_date和end_date存储在变量
希望它有所帮助!!
答案 2 :(得分:0)
您可以使用范围进行此类搜索。例如:
User.where(registred_at: from_field..to_field)
答案 3 :(得分: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