Rails“不是模块”错误

时间:2012-10-01 20:43:00

标签: ruby-on-rails ruby

我在“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

这里有什么问题?

1 个答案:

答案 0 :(得分:47)

Ruby告诉你它找到了Insurance,但它不是一个模块。 也许您已经定义了Insurance

根据周围的代码,如果通过添加双冒号“重置”命名空间,它可能会有所帮助:

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