2011-03-04 145 views
0

在下面的代码中,我可以拨打BackgroundJob.starting(job_script)就好了。但是,例如,当我尝试拨打JobScriptHelper.starting(RemoveBotReferralCodes)时,我始终没有发现方法错误。 JobScriptHelper位于lib文件夹中,而RemoveBotReferralCodes位于名为script的对等文件夹中。任何想法发生了什么?Ruby模块帮助

module JobScriptHelper 

    def starting(job_script) 
    puts "#{Time.now.strftime('%c')}: #{job_script.name} - starting" 
    end 

end 



require 'job_script_helper' 

    class BackgroundJob < ActiveRecord::Base 

     extend JobScriptHelper 

    end 



#!/usr/bin/env ruby 
require File.expand_path('../../../config/boot', __FILE__) 
require File.join(File.expand_path('../../../config/environment', __FILE__)) 
require 'job_script_helper' 

class RemoveBotReferralCodes 
    def self.remove 
    # .... 
    end 
end 

JobScriptHelper.starting(RemoveBotReferralCodes) 
+0

不应该说是BackgroundJob.starting(RemoveBotReferralCodes)? – alexcepoi 2011-03-04 03:00:25

回答

1

为了能够调用JobScriptHelper.starting(),我相信你的方法定义应该是

def JobScriptHelper.starting(job_script) 
    puts "#{Time.now.strftime('%c')}: #{job_script.name} - starting" 
end