2017-06-29 43 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

相关问题