Rails3.2アプリのlibフォルダーにたくさんのカスタムクラスがあります。つまり、ActiveRecordを拡張するなどです。すべて正常に動作します。
ただし、FileUtilsにいくつかのカスタムメソッドを追加しようとしています。
module FileUtils
def last_modified_file(path='.')
# blah ...
end
end
私はそれをlib/file_utils.rbに入れました私のapplication.rbに私は持っています
config.autoload_paths += %W(#{config.root}/lib)
私の他のカスタムクラスはロードされますが、モジュールはロードされません。
Railsがそれを取得するためにモジュール内にクラスを定義することになっていることを読んだ(Rails 3のlibフォルダーからモジュール/クラスをロードする最良の方法?)そしてFileUtils.classによると-それはObject<BasicObjectでなければなりません。
だから私は試しました
module FileUtils
class Object
def last_modified_file(path='.')
# blah ...
end
end
end
しかし、それも機能しません。
ただし、irbを起動してコードを貼り付けるだけで、新しいコードがオブジェクト内に効果的に配置され、モジュールが再インクルードされます。これは正常に機能します。
私はここで行方不明ですか?