Je vais avoir une tonne de sous-classes, donc je veux les organiser sous un sous-dossier appelé flux. J'ai ajouté la ligne suivante à la environment.rb de telle sorte que toutes les classes dans le sous-dossier seraient chargés:Rails: Création de sous-dossiers dans le modèle?
Rails::Initializer.run do |config|
...
config.load_paths += Dir["#{RAILS_ROOT}/app/models/*"].find_all { |f| File.stat(f).directory? }
...
end
Je pensais que cela résoudrait le problème dans lequel, par convention, la classe modèle est un module dans un espace de noms suivant. Cependant, quand je tente d'appeler une des classes appelées flux dans le dossier de flux, je reçois l'erreur suivante:
NoMethodError: undefined method `new' for Stream:Module
from (irb):28
from /usr/local/bin/irb:12:in `<main>'
Voici le modèle pour le parent et un enfant:
class Stream
end
class EventStream < Stream
end
Toute idée quel est le problème?
Essayé cela et a obtenu la même erreur: config.load_paths + =% W [# {RAILS_ROOT}/app/models/stream]. – keruilin