5

Ich habe ein merkwürdiges Problem, wenn ich das Vorhandensein einer Assoziation in einer abgeleiteten Klasse bestätige.Validiert die Assoziation in der Kindklasse eines Modells.

Class Contact < ActiveRecord::Base 

    has_and_belongs_to_many :things 

end 

Class SubContact < Contact 

# validates_presence_of :things 
    validate :must_have_things 

    def must_have_things 
    if things.blank? 
     errors.add("Must select things") 
    end 
    end 

end 

In SubContact Klasse, ich versuche Präsenz der Dinge zu überprüfen, aber nichts funktioniert. Ich habe versucht sowohl benutzerdefinierte und integrierte Validatoren Wie kann ich das erreichen?

+0

@alexanderbird in Frage OP erwähnte nie STI, also glaube ich nicht, dass der Link nützlich ist –

+0

Ist der OP-Beispielcode nicht STI? Ich denke, wenn es keine Typ-Spalte in der Kontakt-Tabelle gibt, dann ist es nicht STI ... – alexanderbird

+0

ja wir haben keine Art Spalte. –

Antwort

3

add benötigt ein Attribut. Versuchen Sie mit:

In diesem Fall ist es die Basisklasse, aber es kann auch ein anderes Attribut sein. Erwähnen Sie einen Attributnamen der SubContract-Klasse oder :base.

+0

Keine Notwendigkeit, wahr oder falsch zurückzugeben, da wir Fehler hinzufügen, aber selbst wenn wir es tun, funktioniert es immer noch nicht. –

+0

Ich habe meine Version bearbeitet. Überprüfen Sie – mhaseeb

+0

Nein @mhaseeb dieses Ding funktioniert nicht für geerbte Ressourcen. –

Verwandte Themen