【问题标题】:Rails 3 - Can I set start date to date_select method?Rails 3 - 我可以将开始日期设置为 date_select 方法吗?
【发布时间】:2010-11-10 03:19:02
【问题描述】:

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

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

谢谢,

【问题讨论】:

    标签: ruby ruby-on-rails-3


    【解决方案1】:

    有可能……例如

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

    this resource

    【讨论】:

      【解决方案2】:

      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/ - 允许限制开始和结束(仍应使用服务器端验证)。

      【讨论】:

      • 哦,我明白了。我会考虑在服务器端进行验证。感谢您的详细解释!
      • @KevinSylvestre,您可以设置 :start_year。我的代码中有很多地方都可以使用。
      • @Jay 是的,你可以。最初的问题甚至说明了这一点。我的回答指出,如果不使用 JavaScript 并且不使用默认的 date_select 方法,则无法指定开始 date(如从 2010 年 5 月 2 日开始)。
      • 我不明白为什么有人反对这个答案。
      猜你喜欢
      • 1970-01-01
      • 2012-03-20
      • 2010-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-15
      • 1970-01-01
      相关资源
      最近更新 更多