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

时间:2010-11-10 03:19:02

标签: ruby ruby-on-rails-3

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

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

感谢,

2 个答案:

答案 0 :(得分:8)

有可能......例如

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

请参阅this resource

答案 1 :(得分:5)

date_select助手仅支持设置start_yearend_year(即2015-2020),而不是start_dateend_date(即6月1日, 2015年至2020年7月1日)。 date_select助手的设计非常简单。仔细观察,你会发现每个月都有31天。

可以使用一些解决方法:

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