我将拥有大量的子类,因此希望在名为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
知道问题是什么吗?
答案 0 :(得分:-1)
您可以发布您的型号代码吗?父代码和至少一个子模型的代码。你打算做一些像Stream&amp; amp;&amp ;;流客户端::?
我不确定您是否假设模型将继承子类,或者您正在为每个模型添加子类。只要知道模型没有嵌套在你的代码中,因为它们放在文件系统而不是类所在的模块,但是从你的初始帖子中无法说明。