Подтвердить что ты не робот

Ошибка Rails "не является модулем"

Я построил библиотеку в каталоге "lib" rails. Структура библиотеки выглядит примерно так:

 lib/insurance/broker/fake_broker.rb

класс выглядит следующим образом:

module Insurance
  module Broker
    class FakeBroker
      def initialize(user_id, user_secret)
        @user_id = user_id
        @user_secret = user_secret
      end
    end
  end
end

Итак, в моем result_controller я делаю это:

require 'insurance/broker/fake_broker'

 def show
   broker = Insurance::Broker::FakeBroker.new(1234,1234)
 end

но Rails возвращает эту ошибку:

Insurance is not a module

Что здесь не так?

4b9b3361

Ответ 1

Ruby сообщает вам, что он нашел Insurance, но это не модуль. Возможно, вы уже определили Insurance класс?

В зависимости от окружающего кода это может помочь, если вы "reset" пространство имен, добавив двойной двоеточие:

broker = ::Insurance::Broker::FakeBroker.new(1234,1234)