我无法找到执行此操作的最佳方法,但本质上我有一个博客,我想在其中显示所有已发布博客的月份和年份的存档。单击“2012 年 5 月”链接将带您查看同一年该月之间撰写的所有博客(例如:2012 年 5 月 5 日、2012 年 5 月 20 日...)。有没有办法只使用 created_at 并传递数字月份和年份的参数来获取同一年同一个月内的所有记录?总体而言,是否有更好的方法来做到这一点。
最佳答案
在你的 Controller 中尝试这样的事情:
month = Date.new(params[:year], params[:month])
@entries = Blog.where(created_at: month.all_month)
#all_month
方法将创建一个包含月份开始和结束的范围,并在 where 子句中传递一个范围,对日期进行 BETWEEN 查询。
关于sql - Rails 4 查询按月和年排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26239871/