Rails - 服务未定义的方法

时间:2017-06-29 08:50:11

标签: ruby-on-rails

我有一个名为HiringProcedureService的服务,看起来像这样

class HiringProcedureService
  def initialize
  end

  def log_procedure(procedure)
    binding.pry
  end
end

你会注意到这个实际上还没有做任何事情,但我只是试图通过控制器访问方法log_procedure,如下所示

HiringProcedureService.log_procedure(@procedure)

但这会引发错误

  

NoMethodError - 未定义的方法`log_procedure'for   HiringProcedureService:分类:

我做错了什么,为什么说未定义的方法,方法是明确定义的。

2 个答案:

答案 0 :(得分:2)

  

NoMethodError - 未定义的方法`log_procedure'for   HiringProcedureService:分类:

您已将log_procedure定义为实例方法。如果要使用class

访问它,则需要将其定义为类方法
def self.log_procedure(procedure)
  binding.pry
end

答案 1 :(得分:1)

您可以做类似

的操作

preview