我怎样才能在天数中显示星期一(例如)?
= f.date_select :start_date, start_year: Date.current.year, end_year: Date.current.year + 1
我知道如何用js做这个,但有没有办法在纯Ruby中做到这一点?
答案 0 :(得分:1)
为您的模型添加星期一方法:
def self.mondays(starts: nil, ends: nil)
starts ||= Date.new(Date.current.year)
ends ||= Date.new(Date.current.year + 1)
(starts..ends).select {|d| d.monday? }
end
不幸的是,date_select
不能与任意日期集合一起使用,并且当您每月只有4天时,使用具有3个选择的数据选择格式并不真正有效。
相反,您可以使用
= f.collection_select : start_date, MyModel.mondays, :iso_8601, :to_s
您可以使用grouped_collection_select分组到几个月。