ruby-on-rails - 在 rails activerecord 中的两个日期之间搜索

标签 ruby-on-rails ruby

我在我的参数中收到一个日期并搜索数据库以查看该日期是否介于开始日期和结束日期之间。我的代码如下。

    date = params[:date]

    record = Campaign.where(['start_date < ? AND end_date > ?', date, date])

这只返回每条记录的名称。但是当我尝试访问完整记录时,比如它的 id,rails 会抛出一个错误。

我不明白我做错了什么。

最佳答案

试试这个,这是用于检查两个日期之间的日期的 rails 格式。

start_date = params[:start_date].to_date.beginning_of_day
end_date = params[:end_date].to_date.end_of_day
records = Campaign.where(:created_at => start_date..end_date)

它将返回在给定日期范围内创建的一系列事件。

希望对您有所帮助。

关于ruby-on-rails - 在 rails activerecord 中的两个日期之间搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31374542/

相关文章:

ruby - 匹配没有空格的单词,并且必须包含单词的某些开头

ruby - 使用 rspec 和 ruby​​ 运行 rake 时出现问题

ruby - 如何在 Ruby 中获取数组的交集、并集和子集?

ruby - 加载路线 : TypeError: undefined is not a function 时出错

ruby-on-rails - Rails 3.1,RSpec : testing model validations

ruby-on-rails - 在没有 self.class.exists 的情况下确保 Rails ActiveRecord 中 JSONB 中嵌套值的唯一性?

ruby-on-rails - 数据库管理 Ruby On Rails

ios - 隐式信任 iOS 应用程序中私有(private) API 的 SSL 证书

ruby-on-rails - hartl rails 教程第 9 章使用电子邮件方法出错?

ruby - spec 使用不同的配置运行同一组测试