Rails: создание подпапок в модели? - PullRequest
3 голосов
/ 03 июня 2010

У меня будет куча подклассов, поэтому я хочу организовать их в подпапку, называемую потоком. Я добавил следующую строку в 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, я получаю следующую ошибку:

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

Вот модель для родителя и одного ребенка:

class Stream
end

class EventStream < Stream
end

Есть идеи, в чем проблема?

1 Ответ

0 голосов
/ 03 июня 2010

Можете ли вы опубликовать код вашей модели? Код для родительской и хотя бы одной дочерней модели. Планируете ли вы сделать что-то вроде Stream && Stream :: Client?

Я не уверен, если вы предполагаете, что модели будут наследовать подкласс, или вы добавляете в подкласс для каждой модели. Просто знайте, что модели не встраиваются в ваш код из-за их размещения в файловой системе, а модули, в которых находится класс, однако не могут отличить их от вашего первоначального сообщения.

...