1
我想擴展Ruby類,例如,不能覆蓋Rails的核心Ruby類2.3.4
# lib/core_ext/hash.rb
class Hash
def gop_compact
delete_if{|k, v| (k.blank? || v.blank?)}
end
end
我在/ lib目錄下創建一個單獨的文件夾,如下所示,
lib/core_ext/hash.rb
我試着按以下步驟包括在load_paths這條道路,
# config/environment.rb
config.load_paths += %W(#{RAILS_ROOT}/lib/core_ext)
完成所有這些設置後,重新啓動服務器並嘗試調用Hash對象的方法,但它會引發未定義的方法異常。
注: - Rails的版本是2.3.4
我花了很多時間在這一點,但沒有運氣呢。任何幫助表示讚賞。
在此先感謝!
是的,它確實有效。但是,我如何通過應用程序使這種方法可用? –
在將它添加到加載路徑後立即在您的'environment.rb'中需要。 –
在'environment.rb'文件中,我在'config.load_paths + =%W(#{RAILS_ROOT}/lib/core_ext)'這行之後嘗試過'require'hash''。它拋出異常。我誤解了嗎? –