在访问作用域时,我遇到了这个错误。
以下是AR模型
class StatisticVariable < ActiveRecord::Base
attr_accessible :code, :name
has_many :statistic_values
scope :logins, where(code: 'logins').first
scope :unique_logins, where(code: 'unique_logins').first
scope :registrations, where(code: 'registrations').first
end
当我尝试使用StatisticVariable.logins
或任何其他作用域时,它会出现:
NoMethodError: undefined method `default_scoped?'
如果我将范围(scope)配置为类方法(class method),那么它就能完美地工作。
def self.registrations
where(code: 'registrations').first
end
请指导我理解并解决这个问题。
default_scope order: "foo"
更改为default_scope { { order: "foo" } }
时遇到了这个问题。通过将其更改为default_scope { order("foo") }
,我已经解决了它。 - Henrik N