メインの拡張機能の内部には、電卓をインスタンス化する標準的な方法があります。このモジュールは Spree の事前初期化プロセスの一部です:
module AgedRevolt
class Engine < Rails::Engine
config.autoload_paths += %W(#{config.root}/lib)
def self.activate
Dir.glob(File.join(File.dirname(__FILE__), "../app/**/*_decorator*.rb")) do |c|
Rails.env.production? ? require(c) : load(c)
end
Calculator::PerWeight.register
end
config.to_prepare &method(:activate).to_proc
end
end
次に、サーバーを実行すると、次のようになります。
app/models/calculator/per_weight.rb:16:in `register': uninitialized constant Calculator::PerWeight::Coupon (NameError)
だから私はそれらを独立して実行しようとし、これを取得します:
ruby-1.8.7-p330 :002 > Coupon
NameError: uninitialized constant Coupon
from (irb):2
ruby-1.8.7-p330 :003 > ShippingRate
NameError: uninitialized constant ShippingRate
from (irb):3
それは何からですか?