2016-02-12 262 views
0

我有一個Effect類在模型中,和一個文件夾"effect"類似app/models/effect/Effect::Status類。效果類與此配置中的導軌類似。衝突之間的名稱與模塊的類名稱和模塊的子類名稱

但是我對模型的另一個類Status

class Status < ActiveRecord::Base 

    DEATH = 1 

現在我想調用這個常數Effect類,如:

class Effect 
    def self.apply 
    foo = Status::DEATH 
    end 
end 

不過,我有以下錯誤:

未初始化的常量效果::狀態:: DEATH

我覺得這是StatusEffect::Status

那麼,如何解決這個衝突?

回答

1

首先要求Status類變爲Effect

然後,在前面使用::進行訪問,以指示沒有父模塊。

require 'status' 

class Effect 
    def self.apply 
    foo = ::Status::DEATH 
    end 
end