मेरे पास एक धारावाहिक विशेषता (सरणी) वाला एक मॉडल है। मैं मॉडल को केवल तभी सत्यापित करना चाहता हूं यदि सरणी के प्रत्येक सदस्य को प्री-निर्धारित विकल्पों में शामिल किया गया हो।एक धारावाहिक विशेषता पर एक समावेश सत्यापन कैसे करें?
उदाहरण: मेरे पास एक व्यक्ति मॉडल है जिसमें "मनोदशा" विशेषता है। उपयोगकर्ताओं में एक से अधिक मूड हो सकते हैं, लेकिन प्रत्येक मूड या तो 'खुश', 'उदास', 'थका हुआ' या 'गुस्सा' होना चाहिए।
class Person < ActiveRecord::Base
MOODS = %w[happy sad tired angry]
# validates :inclusion => { :in => MOODS }
attr_accessible :mood
serialize :mood
end
टिप्पणी की मान्यता काम नहीं करता:
मॉडल कुछ इस तरह होगा। क्या इसे काम करने का कोई तरीका है या क्या मुझे कस्टम सत्यापन की आवश्यकता है?
(। नोट: मैं एक अलग मूड मॉडल बनाने के लिए नहीं करना चाहते हैं)
चेक इस दस्तावेज़, http://guides.rubyonrails.org/active_record_validations_callbacks.html#inclusion: आप सिर्फ उन सत्यापन एक ब्लॉक वाक्य रचना में तरीकों से आप उम्मीद कर सकते हैं करने के लिए रख सकते हैं,। इसके लिए आपको कस्टम सत्यापन नहीं करना है। – Chamnap
क्रमबद्ध गुणों पर, आप करते हैं, अन्यथा क्रमबद्ध मान को शामिल करने के लिए चेक किया गया है, जिसका अर्थ है मूड = [थका हुआ, गुस्से में] MOODS.include के बाद विफल हो जाएगा? (मूड) झूठा –
आह है, मुझे धारावाहिक विधि नहीं दिखाई दे रही है। आपका जवाब तब सही होना चाहिए। – Chamnap