【发布时间】:2012-08-16 08:34:54
【问题描述】:
我有以下代码:
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 开发服务器。
为什么会这样?我该如何解决?
【问题讨论】:
标签: ruby-on-rails ruby metaprogramming