Ist das erste Mal, dass ich eine benutzerdefinierte Validierung erstellen, da der Versuch, die ORM-Validierungen zu versuchen, nicht funktioniert hat. Ich habe ein Modell namens AdGroup, das zu einem anderen Modell namens Car gehört. Ich möchte verhindern, dass ein Nutzer eine neue Anzeigengruppe erstellt, wenn er kein Auto ausgewählt hat. Auch das Auto ist eine Datei.Wie kann ich ein zugehöriges Modell validieren?
class AdGroup < ActiveRecord::Base
belongs_to :car
validate :validate_car_id
def validate_car_id
car = Car.find_by(id: params[:id])
if car.nil?
errors.add(:car, "Select a car image")
end
end
end
class Car < ActiveRecord::Base
validates :make, :model, :year, presence: true
validates :file, presence: true
belongs_to :make
has_many :ad_groups
...
end
Ist ein Bild, das ich versuche auszuwählen.
Sie sollten Ihre Modelldefinition zu der Frage hinzufügen. –
Ist das die vollständige Definition? Sie sollten hier sowohl "AdGroup" - als auch "Car" -Modelle hinzufügen, einschließlich der Linien, die ihre Zuordnung zueinander definieren (z. B. "has_many" oder "gehört zu"). –
Wenn Ihnen eine Antwort nützlich ist, sollten Sie sie annehmen oder dafür stimmen. –