मुझे यह सुनिश्चित करने की आवश्यकता है कि जब कोई उत्पाद बनाया जाए तो इसकी कम से कम एक श्रेणी हो। मैं इसे एक कस्टम सत्यापन वर्ग के साथ कर सकता था, लेकिन मुझे उम्मीद थी कि ऐसा करने का एक और मानक तरीका था।सत्यापित करें कि किसी ऑब्जेक्ट में एक या अधिक संबंधित ऑब्जेक्ट्स हैं
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. उत्पादों + श्रेणियां 'has_and_belongs_to_many' से मिलने का एक शानदार अवसर है http://api.rubyonrails.org/classes/ActiveRecor घ/संघों/ClassMethods.html # विधि-ए-has_and_belongs_to_many। जब तक आप एसोसिएशन के साथ अतिरिक्त विशेषताओं को स्टोर नहीं करना चाहते हैं, तब तक आपको मॉडल में शामिल होने की आवश्यकता नहीं है। 2. आप इस प्रश्न से शीर्ष उत्तर का उपयोग कर सकते हैं http://stackoverflow.com/questions/6429389/how-can-i-make-sure-my-has-many-will-have-a-size-of-at- कम से कम 2 अनुमान लगाएं कि आपको क्या बदलना है :) – jibiel