尝试从表格中的日期字段(不是created_at或updated_at)中查找唯一的月份和年份,并使用这些值填充两个选择框,用户可以从中选择要报告的年份和/或月份。基本上,我只想向用户显示有记录的年份和月份。我使用Postgresql作为我的数据库。
我目前在我的控制器中使用此代码获取值:
@list_of_years = @subset.pluck(:usg_date).map{|y| y.year}.uniq.sort
@list_of_months = @subset.pluck(:usg_date).map{|m| m.month}.uniq.sort
这可以在一定程度上为我提供值,但不是我想要的格式,我无法弄清楚如何使用它们来填充选择框。例如,对于月份,我想显示Jan,Feb,Mar而不是1,2,3等
答案 0 :(得分:0)
试试这个:
Model.select("created_at").map{ |i| i.created_at.year }.uniq
要获取月份名称,您必须使用Date::MONTHNAMES
(首先您可能需要require 'date'
)
例如:
LeaveSystem.select("created_at").map{ |i| Date::MONTHNAMES[i.created_at.month] }.uniq
结果:["December", "February", "March"]