module Hoge::Error UNKO = "うんこ" end
みたいなの作ってみたけど、UNKOが見つからないと言われて???ってなった。
Loading development environment (Rails 4.2.3) # ないと言われる [1] pry(main)> Hoge::Error::UNKO NameError: uninitialized constant Hoge::Error::UNKO from (pry):1:in `<main>' # そもそも定数がないと言われてた。 [2] pry(main)> Hoge::Error.constants => [] # なんかclassになってるやん [3] pry(main)> Hoge::Error.class => Class
module Hoge::Error
したはずなのに、Classになってるのでどこかでclass Hoge::Error
が定義されていて、既にHoge::Error
があるのでapp/model/hoge/error.rb
を読み込んでないのでは?ってなった。のでgrepしてみたらあった。
$ ag "class Error" app/models/hoge.rb 2: class Error < StandardError; end
なので、名前かえた。