Вы можете проверить ассоциации с помощью 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отдельно.