查找从日期开始的独特月份和年份

时间:2015-03-13 08:46:26

标签: ruby-on-rails postgresql-9.1

尝试从表格中的日期字段(不是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等

1 个答案:

答案 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"]