我试过通过初始化器添加这样的作用域
class ActiveRecord::Base
scope :this_month, lambda { where(:created_at => Time.now.beginning_of_month..Time.now.end_of_month) }
end
但是我收到错误“NoMethodError:未定义的方法‘abstract_class?’对于对象:类”。执行此操作的正确方法是什么?
最佳答案
您正在重写一个类,而您本应通过模块进行重写。 我也会对这种方法有点小心,因为你依赖于每个具有 created_at 的模型
module ActiveRecord
class Base
scope :this_month, lambda { where(:created_at => Time.now.beginning_of_month..Time.now.end_of_month) }
end
end
关于ruby-on-rails - 通过初始化程序向 ActiveRecord::Base 添加范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10402672/