Ho bisogno di assicurarmi che quando un prodotto viene creato abbia almeno una categoria. Potrei farlo con una classe di convalida personalizzata, ma speravo che esistesse un modo più standard per farlo.Convalida che un oggetto ha uno o più oggetti associati
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. prodotti + categorie è una grande opportunità per incontrare 'has_and_belongs_to_many' http://api.rubyonrails.org/classes/ActiveRecor d/Associazioni/ClassMethods.html # metodo-i-has_and_belongs_to_many. Non è necessario un modello di join a meno che non si desideri memorizzare ulteriori attributi insieme all'associazione. 2. È possibile utilizzare la risposta superiore da questa domanda http://stackoverflow.com/questions/6429389/how-can-i-make-sure-my-has-many-will-have-a-size-of-at- almeno 2 indovina cosa devi cambiare :) – jibiel