Вызов функции модуля из контроллера (NoMethodError) - PullRequest
5 голосов
/ 07 июля 2011

Итак, у меня есть модуль "MiddleMan", я могу нормально его вызывать в консоли rails, но в контроллере я получаю NoMethodError

В контроллере у меня есть:

class SignUpController < ApplicationController
  include MiddleMan
  def page_one
      @package = MiddleMan::read_catalog("a", "b", "c")
  end
end

А в модуле middleman.rb у меня есть:

module MiddleMan
  def read_catalog(package, payment, coupon)
    Package.new(:price => "4.99")
  end
end

Есть мысли?

1 Ответ

15 голосов
/ 07 июля 2011

Поскольку вы включили модуль, метод экземпляра read_catalog добавляется в ваш класс, поэтому вы можете вызывать его напрямую:

class SignUpController < ApplicationController
  include MiddleMan
  def page_one
      @package = read_catalog("a", "b", "c")
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...