Valide que um objeto tem um ou mais objetos associados

Preciso garantir que, quando um produto for criado, ele tenha pelo menos uma categoria. Eu poderia fazer isso com uma classe de validação personalizada, mas esperava que houvesse uma maneira mais padrão de fazer iss

class Product < ActiveRecord::Base
  has_many :product_categories
  has_many :categories, :through => :product_categories #must have at least 1
end

class Category < ActiveRecord::Base
  has_many :product_categories
  has_many :products, :through => :product_categories
end

class ProductCategory < ActiveRecord::Base
  belongs_to :product
  belongs_to :category
end

questionAnswers(6)

yourAnswerToTheQuestion