我有以下代码:
Cms::Page.class_eval do
def self.fetch_by_slug(slug)
Rails.cache.fetch("cms_page_#{slug}") { Cms::Page.find_by_slug(slug) }
end
end
在config/initializers/cms_mp.rb
问题是,我在我的布局文件中有一个调用fetch_by_slug
,因此,每个请求都会调用它。在开发模式下,如果我做了一些触发类重新加载的操作,我会收到错误消息undefined method fetch_by_slug for #<Class:0xbff20e8>
,唯一的解决方法是重新启动 rails devel 服务器。
为什么会这样?我该如何解决?