Dies ist vielleicht eine einfache Frage, aber ich konnte die Antwort bei Google leider nicht finden.
Kontext:
Ich arbeite an einem eigenen Projekt und externalisiere Code in einem Gem (FrenchTaxSystem). Es ist das erste Mal, dass ich einen Edelstein erschaffe, und ich habe Schwierigkeiten, ihn richtig zu verwenden.
Problem:
Beim Aufruf einer Methode (wie testit), die in der Hauptdatei (french_tax_system.rb) meines Gems definiert ist, erhalte ich einen "NoMethodError: undefined method `testit' for FrenchTaxSystem:Module", obwohl ich Konstanten aus derselben Datei aufrufen kann ( wie FISCAL_NB_PARTS_FOR_MARRIED_COUPLE) und es verwirrt mich.
ZB in IRB bekomme ich das beim Aufrufen einer Methode: [ Und es ist das gleiche in meinen Rspecs-Tests in meinem Gem
Beim Aufrufen einer Konstanten habe ich jedoch keinen Fehler:
Hauptdatei in meinem Juwel: french_tax_system.rb
module FrenchTaxSystem
class Error < StandardError; end
# Constants
...
FISCAL_NB_PARTS_FOR_MARRIED_COUPLE = 2
...
# Methods
## Main method
def testit
"test me"
end
end
Das sollte funktionieren:
module FrenchTaxSystem
def self.testit
"test me"
end
end
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen