我正在使用ruby 1.9.3-p392上的Rails 3應用程序(特別是3.2.13)。rails自動載入不採摘猴子修補類
在我的控制器中的一個「創建」動作可以接收圖像(作爲ActionDispatch :: HTTP :: UploadedFile的)
我試圖通過覆蓋其as_json到猴補丁ActionDispatch :: HTTP :: UploadedFile的方法來返回臨時文件路徑,而不是臨時文件File對象本身。
我這樣做的原因是因爲我有一個數據庫記錄器,通過在上下文中調用to_json來序列化日誌上下文(其中包括請求參數)。 問題在於,在所述類上調用to_json會產生大量填充我的日誌的二進制數據。
所以我創建了以下目錄結構下的「LIB」: 「action_dispatch/HTTP/uploaded_file.rb」 在這個文件中的類名爲ActionDispatch::Http::UploadedFile
我還添加了lib文件夾應用.rb通過: config.autoload_paths += Dir["#{config.root}/lib"]
問題是,軌道不加載我的猴子補丁類。 如果我將require "action_dispatch/http/uploaded_file"
添加到我的控制器文件的頂部,一切正常。
爲什麼Rails自動加載我的猴子補丁類? 目錄結構和類命名是根據Rails約定。