Ich habe ein Company
Modell und ein Payment
Modell.So erstellen Sie eine benutzerdefinierte Methode für meine Schienen Modell
Für mein Modell Company
möchte ich eine benutzerdefinierte (Klasse/Instanz?) Methode erstellen, die ein Summenprodukt der zugeordneten Attribute eines ausgewählten Unternehmens ausführt.
Mein Company
Modell:
def total_payments
self.payments.map { |s| s.value * s.currency }.sum
end
Allerdings, wenn ich Company.first.total_payments
laufen es gibt mir ein no_method_error
.
Wie definiere ich meine Methode richtig?
Ja tatsächlich, du hast Recht. Frage: Wird dies eine Instanzmethode oder eine Klassenmethode genannt? Versuche hier etwas zu lernen :-) – Matthias
'total_payments' ist eine Instanzmethode. – Ilya
Es sieht so aus, als ob ich es tatsächlich auslassen kann, "self" zu nennen und direkt auf "payments" zu verweisen. Ist das auch deine Erfahrung? – Matthias