【发布时间】:2018-01-17 21:40:51
【问题描述】:
我使用 Rails 5.1,并尝试使用两个下拉选择列表 -1 进行搜索。年,2. 个月 - 和一个提交按钮。
在我看来:
<%= form_tag jobs_path, method: :get do %>
<%= select_year(Date.today, {:prompt => "Year",:start_year => DateTime.now.year,:end_year => DateTime.now.year - 7, prefix: 'select'},{:field_name => 'year', :id => 'start-year'}) %>
<%= select_month(Date.today, {:prompt => "month",use_short_month: true, prefix: 'select'},{:field_name => 'month', :id => 'start-month'}) %>
<%= submit_tag("Search Job", :id=>"button", :class=>"Test", :name=>"submit") %>
<%end%>
在我的 jobs_controller.rb 中:
# GET /jobs.json
def index
if params[:year].present? or params[:month].present?
month_with_leading_zero = params[:month].to_s.rjust(2, "0")
start_date = "#{params[:year]}-#{month_with_leading_zero}-1"
end_date = Time.now.strftime("%Y-%m-%d")
@jobs = Job.where("datum_auftrag BETWEEN ? AND ?", start_date, end_date)
else
@search = Job.ransack(params[:q])
@jobs = @search.result
end
end
在我的数据库中,日期以格式保存:yyyy-mm-dd 例如。 2011-01-20
单击提交按钮会忽略过滤,而是打印所有作业:
开始 GET "/jobs?utf8=%E2%9C%93&start_date%5Byear%5D=2016&start_date%5Bmonth%5D=1&submit=搜索+工作" 为 ::1 在 2018-01-17 14:01:54 +0100 处理 JobsController#index 作为 HTML 参数:{"utf8"=>"✓", "start_date"=>{"year"=>"2016", "month"=>"1"}, "submit"=>"Search Job"} 在布局/应用程序中渲染作业/index.html.erb 作业/_job_links.html.erb (38.5ms) 作业负载 (5.5ms) SELECT
jobs.* FROMjobs(1.3ms) 选择计数() FROMmanuscriptsWHEREmanuscripts.job_id= 20 (2.2ms) 选择计数() FROMmanuscripts哪里manuscripts.job_id= 21
我错过了什么?
【问题讨论】:
标签: ruby-on-rails