如何使用rails仅列出从数据库中特定日期到现在的年份?

Posted

技术标签:

【中文标题】如何使用rails仅列出从数据库中特定日期到现在的年份?【英文标题】:How to list down Only the years from specific date on database up to now, using rails? 【发布时间】:2021-08-18 10:28:33 【问题描述】:

我想在下拉列表中显示年份列表,该列表从现在到数据库表中的“建立时间”日期。这些年份列表应该是指向另一个页面的年份链接列表。

【问题讨论】:

【参考方案1】:

在控制器中:

@club_years = @club.established_on.year..Date.today.year

鉴于:

<% @club_years.each do |n| %>
   <%= link_to n, '#', class: 'dropdown-item' %>
<% end %>

【讨论】:

【参考方案2】:

假设您的模型称为Post,那么您可以通过查询从数据库中获取不同的年份,

Post.distinct.select("date_trunc('year', created_at) AS creation_year")

这将为您提供 created_at 列中存在的所有不同年份。然后,如果您想按年份过滤帖子,您可以使用,

Post.where("date_trunc('year', created_at) = '2021-01-01T00:00:00.000Z'")

【讨论】:

以上是关于如何使用rails仅列出从数据库中特定日期到现在的年份?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取数据列表,特定日期仅从每个日期获取 6 条记录而不是更多

Rails:如何将日期时间字符串解析为特定时区

如何获取帐户在两个日期之间进行的转发列表?

在 Rails 中将 2 个表导出为 CSV [如何选择特定列?]

如何仅列出属于我的 Rails 应用程序的 Rake 任务(没有不可维护的 grep 语句)?

如何在时间戳字段中仅使用日期来选择记录?