2017-06-16 2 views
0

so habe ich dieses Stück CodeZugang Kind in Selbst Verfahren in Schienen

class Brand < Applicationrecord 
    has_many :products, dependent: :destroy, inverse_of: :brand 

    def self.concatenate 
     concat = '' 
     self.products.each do |p| 
      concat += p.name 
     end 
    end 
end 

Hier in meiner Klasse Methode, Produkt gesagt wird, nicht definiert werden. Kann ich auf meine Kinder in einer Selbstmethode zugreifen und wenn ja wie soll ich es tun?

Vielen Dank im Voraus

Antwort

2

Kann ich auf meine Kinder in einem selbst Methode

Kommt drauf an.

und wenn ja, wie soll ich es tun?

Durch eine Instanz von Brand irgendwie erhalten. Sicher nicht mit self.

Von dem, was Sie uns gegeben haben, sehe ich nicht, warum concatenate ist eine Klassenmethode. Sollte eine Instanzmethode sein.

def concatenate 
    products.map(&:name).join 
    end 
+0

Ich sehe meinen Fehler. Du hast recht, es sollte eine Instanzmethode sein. Vielen Dank – LRP

Verwandte Themen