尝试创建筛选器选择器以查找在给定日期范围内的课程日期的时间表:
AdminController:
我似乎总是在日期/时间方面遇到麻烦。coursedate是日程表中的datetime字段,如果这有什么区别的话。我只需要搜索日期,而不是时间。因为mysql存储方式的原因,我需要转换数据类型吗?还是……我做错了什么?感谢您提前的帮助。
在bdon的帮助下,我已经接近成功了,非常感谢!现在我遇到了一个未定义的方法错误,但我应该能够解决它:
AdminController:
def find_schedules
if params[:start_date] && params[:end_date]
start_date = params[:start_date]
end_date = params[:end_date]
@schedules = Schedule.find(:all, :conditions => {:coursedate => start_date..end_date})
redirect_to :action => 'find_results'
end
end
查找日程视图:
<% form_tag(find_schedules_path) do %>
<%= select_date Date.today, :prefix => :start_date %>
<%= select_date Date.today, :prefix => :end_date %>>
<%= submit_tag "Submit", :disable_with => "Submitting..." %>
<% end %>
错误:
Processing AdminController#find_schedules (for ...) [POST]
Parameters: {"start_date"=>{"month"=>"3", "day"=>"23", "year"=>"2011"}, "commit"=>"Submit", "authenticity_token"=>"...", "end_date"=>{"month"=>"2", "day"=>"16", "year"=>"2012"}}
ArgumentError (bad value for range)
我似乎总是在日期/时间方面遇到麻烦。coursedate是日程表中的datetime字段,如果这有什么区别的话。我只需要搜索日期,而不是时间。因为mysql存储方式的原因,我需要转换数据类型吗?还是……我做错了什么?感谢您提前的帮助。
在bdon的帮助下,我已经接近成功了,非常感谢!现在我遇到了一个未定义的方法错误,但我应该能够解决它:
ActionView::TemplateError (undefined method `each' for nil:NilClass) on line #26 of /admin/find_results.html.erb:
25: <tr class="<%= cycle('odd', 'even') %>">
26: <% @schedules.each do |schedule| %>