我有一個模型,現在看起來是這樣的:在Rails模型中包含一個lib - 是否需要「需要」?
class Logo < ActiveRecord::Base
include ImageManipulation
...
end
ImageManipulation
是一個名爲image_manipulation.rb
庫,位於/lib/
我可以沒有任何問題的模式工作,但是今天我不得不這樣做通過一些操作軌道控制檯,並嘗試做Logo.delete_all
的時候,我得到這個錯誤:
NameError: uninitialized constant Logo::ImageManipulation
所以,我改變我的模型看起來像這樣:
require 'image_manipulation'
class Logo < ActiveRecord::Base
include ImageManipulation
...
end
我的問題是......爲什麼當我想在軌道控制檯中使用Logo模型時需要這些必要條件,但在啓動rails s
並通過我的應用程序操縱模型時沒有必要?