[英]What's causing “NoMethodError: undefined method `include?' for nil:NilClass”
[英]What's the cause of this NoMethodError?
我有以下代碼:
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>
的錯誤消息undefined method fetch_by_slug for #<Class:0xbff20e8>
唯一的解決方法是重啟rails devel服務器。
為什么會這樣? 我該如何解決?
看起來問題是初始化程序僅在服務器啟動時加載。 我你的Cms :: Page重新加載,然后添加的方法我去了。 您應該考慮將此代碼放在初始化程序中,而不是將其重新加載依賴類。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.