나는 많은 서브 클래스를 가질 것이므로 스트림이라는 하위 폴더 아래에 하위 클래스를 구성하려고합니다. 하위 폴더에있는 모든 클래스가로드 될 수 있도록 나는 environment.rb에 다음 행을 추가 : 레일 : 모델에 하위 폴더를 만드시겠습니까?
Rails::Initializer.run do |config|
...
config.load_paths += Dir["#{RAILS_ROOT}/app/models/*"].find_all { |f| File.stat(f).directory? }
...
end
나는이 규칙에 따라 모델 클래스가 따라 모듈에 네임 스페이스되는 문제를 해결 거라 생각 했어요. 그러나, 나는 스트림 폴더에 스트림이라는 클래스 중 하나를 호출하려고, 나는 다음과 같은 오류 얻을 :
class Stream
end
class EventStream < Stream
end
어떤 생각 : 여기
NoMethodError: undefined method `new' for Stream:Module
from (irb):28
from /usr/local/bin/irb:12:in `<main>'
을 상위 모델과 한 아이의 무슨 문제인가?
시도했지만 동일한 오류가 발생했습니다 : config.load_paths + = % W [# {RAILS_ROOT}/app/models/stream]. – keruilin