Posted at

carrierwaveで NameError uninitialized-constantのようなメッセージが出た場合

More than 3 years have passed since last update.

パーフェクトRuby on Railsの6章を写経してて、carrierwaveで画像を添付する処理を実装してたら、なぜか

uninitialized constant Event::EventImageUploaderというエラーが出て上手くいかなかったのでその対応方法を書いておきます。

ちなみに、自分の環境は以下です。


  • Mac OS X 10.9.5

  • Ruby


    • rbenvを利用


      • ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0]





  • 今回関連するGem


    • rails (4.1.1)

    • carrierwave (0.10.0)




対応方法

13 Jul 2011 にオープンしてるcarrierwaveのissuesの最後の方のコメント、具体的には、8月7日のfredngoさんのやつで解決しました。


config/application.rbに、autoload_pathsの記述を以下のようにする。

module AwesomeEvents

class Application < Rails::Application
config.autoload_paths += Dir[Rails.root.join('app', 'uploaders')]
# 以下省略

end
end

修正が完了したら、起動中のWebrick(もしくは利用されてるアプリケーション・サーバー)を再起動します。

これで私の環境では無事にcarrierwaveが利用できるようになりました。