2011-06-07 23 views
7

के साथ है_ऑन एसोसिएशन है मेरे पास एक मॉडल foo है जिसमें_ऑन बार है। और बार belong_to foo है। मैं सोच रहा था कि has_one को बढ़ाने का कोई तरीका है कि कोई भी दो बार एक ही foo से संबंधित नहीं हो सकता है। मैंने has_one के लिए प्रलेखन को देखा और ऐसा लगता है कि ऐसा नहीं है: uniq पैरामीटर जिसे मुझे निर्दिष्ट करने की अनुमति है। तो क्या मुझे इसे प्राप्त करने के लिए एक कस्टम सत्यापन बनाना है? या क्या कोई आसान तरीका है?रेल पर रूबी अद्वितीय

धन्यवाद।

उत्तर

0

मुझे लगता है कि आप अपने स्वयं के सत्यापन लिखना चाहिए क्योंकि फू के दो विभिन्न रिकॉर्ड के बारे में दूसरों से संबंधित रिकॉर्ड (बार)

+0

इर्रेलेवेंट। यह चिंता का विषय होगा अगर वह दो बार फू के समान बार नहीं चाहता था। लेकिन वह यही नहीं पूछा। – elc

14

आप एक कस्टम मान्यता की जरूरत नहीं है, बस किसी भी foo के लिए बार की विशिष्टता को लागू पता नहीं है

class Bar < ActiveRecord::Base 
    validates_uniqueness_of :foo_id 
end 
+0

यह सुनिश्चित करेगा कि कोई भी दो फूज़ एक ही बार न हो, लेकिन @dhruvg यह सुनिश्चित करने के लिए देख रहा है कि कोई भी दो बार * समान * foo से संबंधित नहीं है। –

संबंधित मुद्दे