railsで自作moduleを作成したときにエラーに出くわした
uninitialized constant Hoge::Fuga::Piyo (NameError)
以下の設定でlibディレクトリ以下のファイルはすべて勝手に読み込まれると思っていた
config/application.rb
module App
class Application < Rails::Application
...
config.autoload_lib(ignore: %w[assets tasks])
...
end
end
libディレクトリ構造
ファイルの置き場所はmoduleの定義に合わせないと読み込まれない
lib/hoge/fuga/piyo.rb
module Hoge
module Fuga
module Piyo
def custome_method
...
end
end
end
end
上記の場合は lib/hoge/fuga/piyo.rb
にファイルを配置する
classの場合も同様
lib/hoge/fuga/piyo.rb
module Hoge
module Fuga
class Piyo
def custome_method
...
end
end
end
end
上記の場合も lib/hoge/fuga/piyo.rb
にファイルを配置する