Rails:在模型中创建子文件夹?

时间:2010-06-02 20:07:43

标签: ruby-on-rails model directory subdirectory

我将拥有大量的子类,因此希望在名为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的类时,我收到以下错误:

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 :(得分:-1)

您可以发布您的型号代码吗?父代码和至少一个子模型的代码。你打算做一些像Stream&amp; amp;&amp ;;流客户端::?

我不确定您是否假设模型将继承子类,或者您正在为每个模型添加子类。只要知道模型没有嵌套在你的代码中,因为它们放在文件系统而不是类所在的模块,但是从你的初始帖子中无法说明。