riz*_*oro 24 ruby ruby-on-rails
我在"lib"rails目录上构建了一个库.库的结构是这样的:
lib/insurance/broker/fake_broker.rb
Run Code Online (Sandbox Code Playgroud)
该类看起来像以下示例:
module Insurance
module Broker
class FakeBroker
def initialize(user_id, user_secret)
@user_id = user_id
@user_secret = user_secret
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
所以,在我的result_controller中,我这样做:
require 'insurance/broker/fake_broker'
def show
broker = Insurance::Broker::FakeBroker.new(1234,1234)
end
Run Code Online (Sandbox Code Playgroud)
但Rails返回此错误:
Insurance is not a module
Run Code Online (Sandbox Code Playgroud)
这有什么不对?
Dan*_*ski 49
Ruby告诉你它找到了Insurance
,但它不是一个模块.也许你已经定义了一个Insurance
类?
根据周围的代码,如果通过添加双冒号"重置"命名空间,它可能会有所帮助:
broker = ::Insurance::Broker::FakeBroker.new(1234,1234)
Run Code Online (Sandbox Code Playgroud)