Я расширил класс ActiveRecord :: Base следующим образом:
Библиотека / activerecord_ext.rb:
class ActiveRecord::Base
named_scope(
:recent,
:conditions => ['created_at > ?', (Time.new - 3.day)],
:order => 'created_at DESC',
:limit => 5
)
end
В config / environment.rb:
require "activerecord_ext"
Это работает нормально, пока не включено кэширование классов. Когда я установил
config.cache_classes = true
Я получаю эту ошибку:
>> Person.recent
NoMethodError: You have a nil object when you didn't expect it!
The error occurred while evaluating nil.call
from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.3/lib/active_record/named_scope.rb:102:in `recent'
from (irb):1
Я предполагаю, что я делаю что-то не так с включением расширения. Любая помощь будет принята с благодарностью.