1

背景

我们有这个文件结构:

app/services/promo/promotion_expire.rb
app/services/payment/code_pen_subscription.rb

以及下面定义的模块/类。

Promotion_expire.rb

module Promo
  class PromotionExpire

  end
end

code_pen_subscription.rb

module Payment
  class CodePenSubscription

    def new_suscription_from_promo
       ##stuff
       Promo::PromotionExpire.new.expire_single(@user, true)
       ##/stuff
    end

  end
end

问题

仅在生产中,我们有一个例外

NameE​rror:​ unin​itial​ized ​const​ant P​aymen​t::Pr​omo::​Promo​tionE​xpire

为了解决这个问题,我们更改Promo::PromotionExpire::Promo::PromotionExpirein new_subscription_from_promo,它告诉 ruby​​ 从模块层次结构的根目录查找。但我们不知道为什么

  1. 这只发生在生产中(自动加载路径?)
  2. 为什么它只发生在CodePenSubscription,而不是其他地方,因为我们在其他地方使用这个成语。
4

0 回答 0