मैं इसे कैसे बना सकता हूं ताकि उत्पाद सबमिट करने के लिए कम से कम दो विकल्प रिकॉर्ड आवश्यक हों?रेल नेस्टेड गुणों को कम किया गया है: कम से कम दो रिकॉर्ड की आवश्यकता है
class Product < ActiveRecord::Base
belongs_to :user
has_many :options, :dependent => :destroy
accepts_nested_attributes_for :options, :allow_destroy => :true, :reject_if => proc { |attrs| attrs.all? { |k, v| v.blank? } }
validates_presence_of :user_id, :created_at
validates :description, :presence => true, :length => {:minimum => 0, :maximum => 500}
end
class Option < ActiveRecord::Base
belongs_to :product
validates :name, :length => {:minimum => 0, :maximum => 60}
end
यह बहुत एक कस्टम मान्यता के साथ क्या करना सरल होना चाहिए। कुछ self.errors.add_to_base ("दो विकल्प आवश्यक हैं") जब तक self.options.length> = 2' – Todd
धन्यवाद जो काम करता है! – morcutt
यदि आप 'accepts_nested_attributes_for' का उपयोग' allow_destroy: true' के साथ कर रहे हैं तो आपको बच्चों की सटीक लंबाई खोजने के लिए बच्चों के संगठन के साथ 'mark_for_destruction? 'का उपयोग करना चाहिए, क्योंकि कुछ ऑब्जेक्ट्स को फ़ॉर्म से सबमिट करते समय यह संभव हो सकता है' _destroy: वस्तु बचाने के बाद विनाश के लिए सच '। लंबाई, आकार और गिनती उस मामले के लिए सही काम नहीं करेगी। इस लिंक का सही जवाब है। [लिंक] (http://stackoverflow.com/a/28476834/4377172) –