2013-07-31 94 views
1

,所以我有一個紅寶石文件,它是位於內部模型>服務調用模塊方法

module Services 

    module SomeJobs 


    def mainJob 
    ... 
    end 
    end 
end 

,我如何調用從Ruby類方法是坐的lib/testfunction.rb內

我嘗試以下,並沒有奏效。任何幫助是欣賞。我正在嘗試調試代碼。

class TestFunction 
    include SomeJobs 

    TestFunction::mainJob 
end 

回答

0

嘗試了這一點

module Services  
    module SomeJobs  
    def self.mainJob 
    end 
    end 
end 

使mainJob一個模塊的方法,如模塊實例方法不會被包含在包括類,它們是私有模塊

class TestFunction 
    include Services::SomeJobs 
end 

現在從調用

這TestFunction類外

TestFunction.new.mainJob 

這TestFunction類中有

self.class.new.mainJob 
如果您要訪問mainJob作爲類的方法,然後,用延長的,而不是包括

與您使用IDE調試

試要求相對該文件的Rails應用程序,在你的

TestFunction類

+0

我得到這個錯誤 未初始化的常量TestFunction ::服務(NameError) – jimagic

+0

@ JitenK這個服務模塊位於app/models中嗎? –

+0

這個服務模塊位於應用程序/模型/服務和這一個擴展的模型 – jimagic