Necesito asegurarme de que cuando se crea un producto tiene al menos una categoría. Podría hacer esto con una clase de validación personalizada, pero esperaba que hubiera una forma más estándar de hacerlo.Valide que un objeto tenga uno o más objetos asociados
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
1. products + categories es una gran oportunidad para conocer 'has_and_belongs_to_many' http://api.rubyonrails.org/classes/ActiveRecor d/Associations/ClassMethods.html # method-i-has_and_belongs_to_many. No necesita un modelo de unión a menos que no desee almacenar atributos adicionales junto con la asociación. 2. Puede usar la respuesta principal de esta pregunta http://stackoverflow.com/questions/6429389/how-can-i-make-sure-my-has- many-will-have-a-size-of-at- menos-2 adivina qué tienes que cambiar :) – jibiel