次のコードがあります。
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 サーバーを再起動することです。
なぜこうなった?どうすれば修正できますか?