我有包含同樣的方法兩種型號:何處可以在多個模型中找到通用代碼?
def foo
# do something
end
我應該在哪裏放呢?
我知道常見的代碼在lib
目錄在Rails應用程序中。
但如果我把它放在lib
一個新的類名爲「Foo
」,我需要它的功能添加到我的兩個ActiveRecord models
的,我是這樣做的:
class A < ActiveRecord::Base
includes Foo
class B < ActiveRecord::Base
includes Foo
,然後兩個A
和B
將包含foo
方法,就像我在每個方法中定義它一樣?
如果兩個模型都調用「before_save:before_method」,並且我也將它放在SharedMethods中,那麼它是否也能工作?還是它只適用於方法定義? – 2009-11-09 00:10:11
此外,你的'需要'的代碼出現在environment.rb中嗎? – 2009-11-09 00:12:35
您可能需要在「Rails :: Initializer.run do | config | ... end」部分 – nicholaides 2009-11-09 15:34:47