2016-03-23 38 views

回答

6

最好的辦法是尋找到了current source codeTimeZoneActiveSupport:該zones_map方法has been made private,所以我想你得到5下的Rails這樣的錯誤:那麼現在你有兩個選擇

NoMethodError: private method 'zones_map' called for ActiveSupport::TimeZone:Class 

:要麼使用send調用反正私有方法:

ActiveSupport::TimeZone.send(:zones_map) 

,或者甚至更好,如果你需要的是這個地圖的values(如sugge在answer to your yesterday's question),那麼就沒有必要在zones_map附近破解。您可以使用all方法來代替:

ActiveSupport::TimeZone.all 

按照source,該all方法等效於zones_map.values.sort,這是一個正常的公共方法,所以沒有必要send什麼。

相關問題