Вы пытаетесь вызвать метод экземпляра (create_pdf
) из метода класса (self.perform
).Ваш код будет работать только в том случае, если ваш DocumentHelper
определил create_pdf
как метод класса:
def self.create_pdf
Если вам не нужен доступ к create_pdf
в ваших представлениях, вы можете рассмотреть возможность его перемещения в свойВместо этого Document
class, как метод экземпляра, и тогда вы можете сделать @doc.create_pdf(pdf)
.
Однако, если вам также необходим доступ к create_pdf
в ваших представлениях, вы можете либо поместить module_function :create_pdf
в свой файл DocumentHelper
, либо динамически добавить его на своем рабочем месте:
DocumentHelper.module_eval do
module_function(:create_pdf)
end
DocumentHelper.create_pdf(pdf)
Тогда вы можете правильно позвонить DocumentHelper.create_pdf
.
Кроме того, в Rails 3, я думаю, вам нужен только include DocumentHelper
, а не include ActionView::Helpers::DocumentHelper
.