Ruby on rails Rails:缓存类忽略mixin
我对ActiveRecord::基类进行了如下扩展: lib/activerecord_ext.rb:Ruby on rails Rails:缓存类忽略mixin,ruby-on-rails,caching,Ruby On Rails,Caching,我对ActiveRecord::基类进行了如下扩展: lib/activerecord_ext.rb: class ActiveRecord::Base named_scope( :recent, :conditions => ['created_at > ?', (Time.new - 3.day)], :order => 'created_at DESC', :limit => 5 ) end 在config/envi
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
我假设我在包含扩展时做错了什么。非常感谢您的帮助。在
config.cache\u classes=true
行之前或之后,是否需要“activerecord\u ext”
?在任何情况下,请尝试将require“activerecord\u ext”放在初始值设定项中