Rails 3 - 我可以将开始日期设置为date_select方法吗?

bek*_*u68 5 ruby ruby-on-rails-3

date_select方法只能设置:start_year,但我想设置开始日期(例如3个月前的日期)(但没有这样的选项).

那么,我可以将开始日期设置为date_select方法吗?或者,为了使这样的选择框,我应该使用select_tag和options_for_select?或者,有什么解决方案吗?

谢谢,

Jay*_*Jay 8

有可能......例如

:start_year - 设置年份选择的开始年份.默认为Time.now.year - 5

看到这个资源.


Kev*_*tre 5

date_select助手只支持设置start_yearend_year(即2015- 2020年),而不是start_dateend_date(即2015年6月1日至2020年7月1日).该date_select助手是设计很简单.仔细观察,您甚至会注意到每个月都有31天.

有几种解决方法可供使用:

  1. 如果提交的日期超出可接受的范围,则在服务器端进行验证并显示错误.
  2. 切换到使用JavaScript客户端 - 例如http://amsul.ca/pickadate.js/date/ - 允许限制开始和结束(仍然应该使用服务器端验证).