模型
class Line < ActiveRecord::Base
attr_accessible :num, :foreign_id
def self.cached_foreign(q)
Rails.cache.fetch([name,"foreign"+q.to_s]) { where(:foreign_id => q) }
end
end
对于上面的模型中,当Line.cached_foreign(1)
反复运行它始终执行的SQL语句。
这里有什么问题? 理想情况下,它应该返回从缓存中重复调用。
这似乎使用时正常工作find
,但使用时并不where
。