Я некоторое время задерживался этой проблемой и полностью смутил себя тем, как совлокальные модели и проверки работают вместе.
В приведенном ниже коде моя цель состоит в том, чтобы создать родительскую модель (изображение или видео), если проверка работоспособности дочерней модели (содержимого) не выполняется. В настоящее время родительская модель сохраняется, пока дочерняя модель отсутствует, а ошибки проверки не слышны. Если ошибок проверки не существует, все работает так, как ожидалось.
#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
Любые выводы или идеи очень ценятся!