3

たくさんのサブクラスがあるので、streamというサブフォルダーの下にそれらを整理したいと思います。サブフォルダー内のすべてのクラスがロードされるように、environment.rbに次の行を追加しました。

            Rails::Initializer.run do |config|
...
            config.load_paths += Dir["#{RAILS_ROOT}/app/models/*"].find_all { |f| File.stat(f).directory? }
...
    end

これにより、慣例によりモデルクラスが対応するモジュールに名前空間化されるという問題が解決されると思いました。ただし、streamフォルダー内のstreamというクラスの1つを呼び出そうとすると、次のエラーが発生します。

NoMethodError: undefined method `new' for Stream:Module
    from (irb):28
    from /usr/local/bin/irb:12:in `<main>'

親と1人の子のモデルは次のとおりです。

class Stream
end

class EventStream < Stream
end

問題が何であるかについて何か考えはありますか?

4

0 に答える 0