Od pewnego czasu utknąłem w tym problemie i całkowicie się pomyliłem co do tego, w jaki sposób modele zagnieżdżone i sprawdzania poprawności działają razem.Szyny: Zapobieganie tworzeniu modelu nadrzędnego i wyświetlanie błędów sprawdzania poprawności modelu dziecka
W poniższym kodzie moim celem jest niepowodzenie tworzenia modelu macierzystego (Obraz lub wideo), jeśli weryfikacja modelu podrzędnego (zawartość) zakończy się niepowodzeniem. Obecnie model nadrzędny jest zapisywany, podczas gdy model podrzędny nie jest, a błędy sprawdzania poprawności są niewidoczne. Jeśli nie ma błędów sprawdzania poprawności, wszystko działa zgodnie z oczekiwaniami.
#Image.rb
has_one :content,
as: :contentable,
inverse_of: :contentable,
dependent: :destroy
#Video.rb
has_one :content,
as: :contentable,
inverse_of: :contentable,
dependent: :destroy
#Content.rb
belongs_to :contentable,
inverse_of: :content,
polymorphic: true
validate :all_good?
def all_good?
errors.add(:base, "Nope!")
return false
end
Wszelkie wskazówki lub spostrzeżenia są doceniane!
której wersji szyn używasz? – dnsh
@ Dinesh Rails 4.2.6 – geoboy
Dlaczego tak to ustawiasz - "zalecane podejście" nie jest naprawdę wykonalne, chyba że przedstawisz cel końcowy - czym właściwie jest rozumowanie do oddzielania takich elementów - co robią modele/Schemat wygląda jak w aplikacji, które wymagają tego oddzielenia? – MageeWorld