Ich habe eine Modellklasse namens Person
. Die Personenklasse hat ein Attribut namens car
.hinzufügen Bedenken Modul zu Modell
Nun möchte ich gerne ein Modul in dem Anliegen Modell Person::Car::HasProducer
Das Modul so aussehen sollte aufgerufen definieren:
module HasProducer
def produced_by_toyota?
car == "Prius"
end
def produced_by_bmw?
car == "X3" || car == "X5"
end
end
Ich möchte diese Datei unter finden: Bedenken/Person/Auto/has_producer.rb
im Person
-Klasse habe ich versucht, es so zu schließen:
class Person
include Person::Car::HasProducer
Aber es erhalte ich die Fehlermeldung: Unable to autoload constant Person::Car::HasProducer
Ich habe versucht, verschiedene Kombinationen von modules/classes
aber keiner der Konstellation für mich gearbeitet.
Was muss ich tun, damit has_producer.rb
als Person::Car::HasProducer
gefunden wird?
Dank für Sie kommentieren, es hat funktioniert, indem die erste 'module' Wechsel zu' CLASS' . Schön, dass Sie auch den 'ActiveSupport :: Konzern 'bemerkt haben. Ich habe es hier in diesem Beispielcode weggelassen. Bitte aktualisieren Sie Ihre Frage und ich werde es als korrekt markieren! –
aktualisiert zuerst 'Modul' zu' Klasse' –