2017-06-29 84 views
0

我有一個服務叫做HiringProcedureService它看起來像這樣導軌 - 服務未定義的方法

class HiringProcedureService 
    def initialize 
    end 

    def log_procedure(procedure) 
    binding.pry 
    end 
end 

你會發現,這actualy沒有做任何事情,但我只是想通過控制器訪問方法log_procedure以下

HiringProcedureService.log_procedure(@procedure) 

但是,這會引發錯誤

NoMethodError - 我不確定THOD`log_procedure」的 HiringProcedureService:類別:

什麼我做錯了什麼?爲什麼它說未定義的方法,該方法被明確定義。

+0

'log_procedure'不是一個類的方法,它的類HiringProcedureService'的'對象的實例方法來訪問它。如果你想爲班級使用'self.log_procedure' – kapilsdv

回答

1

NoMethodError - 爲 HiringProcedureService未定義的方法`log_procedure」:類別:

您已經定義log_procedure實例方法。你需要將它定義爲一個類方法,如果你想使用class

def self.log_procedure(procedure) 
    binding.pry 
end 
+0

謝謝,這確實有幫助。能否請你幫我明白了什麼是實例方法 – Saadia

+0

@Saadia選中此http://culttt.com/2015/06/10/understanding-class-methods-verses-instance-methods-in-ruby/ – Pavan