2012-12-03 115 views
0

是的,我想追加一個恆定追加在主應用程序常量數組,從Rails的引擎

我有一個存儲爲一個常數在mainapp一個數組,像

class FOO 
    ABILITY = [["xxxx","XX"],["yy","YYY"]] 
end 
東西以各種方式在整個mainapp中使用以上常量的

現在,我有一個擴展mainapps能力有軌引擎,並願能力陣列中的主應用程序擴展,所以如果我在那裏做了

ABILITY.each 

我會得到一個額外的對。

想都沒想,我只是做了

class BAR 
    FOO::ABILITY << ["zzzz","ZZZZ"] 
end 

當然這並沒有做任何事情。

我從來沒有考慮過追加一個常量,這在其自身看來是一件壞事,但考慮到RailsEngine的目的,因爲它感覺像是一個足夠的想法,在此先感謝。

回答

0
class FOO 
    ABILITY = [["xxx","XX"],["yy","yyyy"]] 
end 

class BAR 
    T= FOO::ABILITY << ["zzz","ZZ"] 
end 

BAR::T 
=> [["xxx", "XX"], ["yy", "yyyy"], ["zzz", "ZZ"]] 

您在ABILITY數組中缺少「,」。這有幫助嗎?

+0

對不起,逗號缺失是一個錯字 – Saifis

+0

只是清理了輸出。 那麼調用「BAR :: T」會追加信息嗎? –

+0

它可能,但爲了附加你將不得不打電話給BAR :: T,這是不可用的,因爲必須調用FOO :: ABILITY。 – Saifis