ruby-on-rails - 获取 Rails 中 date.year == some_year 的记录

标签 ruby-on-rails activerecord

我的 Rails 3.1 应用程序的数据库中有一个日期列,我希望能够获取日期年份与特定年份匹配的记录。 我尝试了 where(:date.year == Year) 但当然我得到了 NoMethodError: undefined method 'year' for :date:Symbol。可以进行这种类型的查询吗?

最佳答案

您可以使用范围来构建类似的东西:

scope :for_year, lambda {|date| where("date >= ? and date <= ?", "#{date.year}0101", "#{date.year}1231")}

关于ruby-on-rails - 获取 Rails 中 date.year == some_year 的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6426662/

相关文章:

ruby-on-rails - RSpec 和 rails : Stub @virtual_path for translation helper to test an application helper

ruby - 在 RSpec 测试中模拟 ActiveRecord 关系行为

ruby-on-rails - 限制 activerecord 查询返回的结果总数?

sql - 复杂 ActiveRecord 案例中大小、长度和计数之间的差异

iphone - iOS 应用程序和 Rails 网络服务之间的持久连接

ruby-on-rails - 在 ROR 3.0 中使用全局变量是一种好习惯吗

ruby-on-rails - rails 小号 : undefined method `symbolize_keys'

android - 仅允许 Android 应用程序访问 Rails API 的最佳实践

ruby-on-rails - 在 ActiveRecord 中包含 where 子句

ruby-on-rails - 不包含零的事件记录