2009-06-04 17 views

उत्तर

29

मैं कस्टम सत्यापन लिखेंगे।

+8

मुझे 'self.errors.add: base' का उपयोग करने की आवश्यकता है, मॉडल में कुछ उपयोगकर्ता होना चाहिए। " ' –

+0

यह रेल 3.2 में काम नहीं करता है –

1

जोश Susser लिखा एक plugin कि एक validates_existence_of विधि करता है कि आप क्या चाहते हैं कहते हैं। यह सुनिश्चित करता है कि एक विदेशी कुंजी एक रिकॉर्ड मौजूद है जो मौजूद है।

validate :has_users? 

def has_users? 
    errors.add_to_base "Model must have some users." if self.users.blank? 
end 

यही है कि क्या करना होगा:

+0

कि होनहार देखा है, लेकिन यह काम नहीं किया: "उपयोगकर्ताओं के अस्तित्व को मान्य नहीं कर सकता क्योंकि यह एक एसोसिएशन नहीं है।" ऐसा लगता है कि यह केवल belong_to के लिए है ... – cmaughan

+0

यह सही है। आपके सहयोग के दूसरे छोर पर क्या है? –

2

रेल 3.2.x में:

validate :has_users? 

def has_users? 
    errors.add(:base, 'Error message') if self.users.blank? 
end 
27

रेल 4 में तुम सिर्फ कर सकते हैं

validates :users, presence: true 
0

प्रयास करें:

validates :users, :length => { :minimum => 1 } 
संबंधित मुद्दे