如何使未来日期不应出现或仅在当前年份禁用,在日期时间选择在rails中?

时间:2015-08-26 14:20:19

标签: ruby-on-rails datetime

我正在使用rails date time select。开始年份和结束年份选项。在这里,用户应该能够选择从去年到当前日期的所有日期。不应允许用户选择当前年份的未来日期。我怎样才能做到这一点?如果我提到开始日期和结束日期选项也会限制上一年的日期吗?

<%= f.datetime_select :check_out_req, { start_year: Date.today.year - 1,:end_year => Date.today.year,ampm: true, order: [:day, :month, :year] }, { class: "form-control" }

1 个答案:

答案 0 :(得分:2)

<select>生成的datetime_select是静态的,因此根据其他选择,他们无法禁用选项。例如,如果没有Sept,Rails也不会禁用2015年9月2014年。

您可以选择一些方法来获得所需内容:

  • 验证模型上的日期。检查它是否在1.year.ago.to_date..Date.today内,如果不是,则向用户显示典型的验证错误。
  • 在前端实施一些JavaScript,启用和禁用月份和日期选择器,因为选择了年份和月份。
  • 选择一个可以帮助您的JS插件。周围有很多: