2017-07-06 6 views
0

Ich erstelle ein Ereignis, das viele Ausrüstungen hat. Ich möchte das Gerätemodell validieren. Wie kann ich auf das Ereignis des Geräts zugreifen, das ich gerade speichere? Ich brauche das, um das Datum zu erhalten, an dem das Gerät verwendet wird (das Datum ist aus dem Event-Modell bekannt). Hier ist der Code:Holen Sie das aktuelle Objekt auf has_many Seite beim Speichern

class Event < ApplicationRecord 
    has_many :equipment_events, class_name: EquipmentEvent 
    has_many :equipment, through: :equipment_events 
end 

class Equipment < ApplicationRecord 
    has_many :equipment_events 
    has_many :events, through: :equipment_events 

    validate :equipment_already_used 

    def equipment_already_used 
    date = # <== HERE I need the date from this equipment's event that I am saving 
    end 

end 

Antwort

0

Sie müssen die Validierung von Equipment zu EquipmentEvent verschieben, da Equipment und Event unabhängige Entitäten sind.

class EquipmentEvent < ApplicationRecord 

    belongs_to :equipment 
    belongs_to :event 

    validate :equipment_already_used 

    def equipment_already_used 
    event.date # <== HERE 
    end 

end 
Verwandte Themen