2017-04-04 50 views
1

我創建了一個關注patientinfo與下面的代碼已經初始化了常量Patientinfo :: PATIENT_HASH。警告:PATIENT_HASH以前的定義在這裏

module Patientinfo 
    extend ActiveSupport::Concern 

    included do 
    PATIENT_HASH = { 
     '0' => 'Test1', 
     '1' => 'Test2', 
     '2' => 'Test3', 
     '3' => 'Test4' 
    }.freeze 

    def patient_map(patient_number) 
     PATIENT_HASH[patient_number] 
    end 
    end 
end 

現在,當我啓動rails服務器我得到了錯誤的標題。 任何想法爲什麼?

+0

你確定你沒有在其他地方定義該變量嗎?或者你在使用'active_admin'? – alexunger

+0

PATIENT_HASH僅在Patientinfo有關 – user938438932

回答

1

如果你將這個模塊包含在多個類中,included會再次運行同一個模塊,重新定義常量,從而產生碰撞。你是否將這個模塊包含在多個類中?

+0

中定義是的。我打電話給它在2個單獨的模型 – user938438932

+0

然後這是問題。該常數已經由第二類包含此模塊的時間定義。 – alexunger

+0

如果是這種情況,你能接受這個答案嗎? – alexunger

相關問題