Вы можете проверить ассоциации с помощью validates_existence_of
(это плагин):
Пример фрагмента из этой записи в блоге :
class Tagging < ActiveRecord::Base
belongs_to :tag
belongs_to :taggable, :polymorphic => true
validates_existence_of :tag, :taggable
belongs_to :user
validates_existence_of :user, :allow_nil => true
end
В качестве альтернативы вы можете использовать validates_associated
. Как отмечает Фейсал в комментариях под ответом, validates_associated
проверяет, действителен ли связанный объект, путем запуска связанных проверок класса. Он не проверяет наличие. Также важно отметить, что пустая ассоциация считается действительной.
validates
понравится,valid: true
вместо того, чтобы звонитьvalidates_associated
отдельно.