gpt4 book ai didi

ruby-on-rails - 在一个月内创建的 Rails 范围

转载 作者:数据小太阳 更新时间:2023-10-29 07:45:05 24 4
gpt4 key购买 nike

我在编写模型范围时遇到了一些问题。我想根据发布的月份过滤我的模型对象,即模型 BlogPost :

scope :published_in_month, ->(date) { where(published_date: date.at_beginning_of_month..date.at_end_of_month) }

所以这是我的 Controller 方法:

def list_by_month
@date = Time.parse("#{params[:year]}/#{params[:month]}")
puts "DATE IS #{@date}"
@posts = BlogPost.published_in_month(@date).page(params[:page]).per(10)
render :index
end

所以我看到打印出来的日期是:

DATE IS 2013-12-01 00:00:00 +0100

但是在我的日志和页面中我看到了错误月份的帖子,这是一个条目日志:

SELECT "blog_posts".* FROM "blog_posts" WHERE ("blog_posts"."published_date" BETWEEN '2013-11-30 23:00:00.000000' AND '2013-12-31 22:59:59.999999') LIMIT 10 OFFSET 0

当我的输入日期是 2013-12-01 时,这个 2013-11-30 是从哪里来的,如果我弄错了,我该如何重写我的范围它产生不正确的查询

最佳答案

这可以帮助:

scope :from_month, -> { where(created_at: DateTime.now.beginning_of_month..DateTime.now.end_of_month) }

关于ruby-on-rails - 在一个月内创建的 Rails 范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23245438/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com