NoMethodError: неопределенный метод - Как найти метод? - PullRequest
0 голосов
/ 19 марта 2011

Я получаю следующую ошибку:

#<NoMethodError: undefined method `find_it' for #<struct xJob xxxx_id=527>>

У меня есть контроллер, который создает delayed_job следующим образом, в конце метода контроллера:

xJob.new(@xxxx.id).perform

Тогда в /lib/xJob.rb:

class xJob < Struct.new(:xxxx_id)

  include ActionView::Helpers

  def perform

    begin
     .......
     goodstuff  =  find_it(stuff)
     .......
    rescue Exception => e
     .....
    end
  end

  def self.find_it(body)
    ....
  end

end

Мне нужно было добавить self к self.find_it, иначе я не смог бы протестировать этот метод в rspec. Но теперь кажется, что он выходит за пределы RSPEC.

Идеи? Спасибо

1 Ответ

2 голосов
/ 19 марта 2011

Просто удалите "self" из объявления метода find_it. Потому что, когда вы его так определяете, он становится методом класса xJob вместо метода экземпляра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...