ネスト元のクラス or モジュールが定義されていないとエラー
下記の例だとHogeやHoge::Fugaを定義してやる必要があるみたい。
# -*- coding: utf-8 -*- class Hoge::Fuga::Foo def self.hoge puts "hoge" end end Hoge::Fuga::Foo.hoge #=> uninitialized constant Hoge (NameError)
これならおk
# -*- coding: utf-8 -*- module Hoge end module Hoge::Fuga end class Hoge::Fuga::Foo def self.hoge puts "hoge" end end Hoge::Fuga::Foo.hoge #=> "hoge"
Railsのコントローラで Admin::UsersController とかをよく定義して、Adminを定義して無くてもエラーにはならないのだけれどこれはRails側で何かやってるのかなあ