एक गुंजाइश संग्रह का एक सबसेट है। जटिल लगता है? यह नहीं है। इसकी कल्पना करें:
आपके पास उपयोगकर्ता हैं। अब, उनमें से कुछ उपयोगकर्ता आपके न्यूज़लेटर की सदस्यता ले चुके हैं। आपने उन लोगों को चिह्नित किया है जो उपयोगकर्ता डेटाबेस (user.subscribed_to_newsletter = true) पर एक फ़ील्ड जोड़कर समाचार पत्र प्राप्त करते हैं। स्वाभाविक रूप से, आप कभी-कभी उन उपयोगकर्ताओं को प्राप्त करना चाहते हैं जो आपके न्यूज़लेटर के सदस्य हैं।
आप निश्चित रूप से, हमेशा ऐसा कर सकते हैं:
User.where(subscribed_to_newsletter: true).each do #something
हमेशा यह लिखने के बजाय, आप इस तरह से कुछ कर सकते हैं।
#File: users.rb
class User < ActiveRecord::Base
scope :newsletter, where(subscribed_to_newsletter: true)
#yada yada
end
यदि आप रेल 4 या नए का उपयोग कर रहे हैं , तो इसके बजाय यह करें:
#File: users.rb
class User < ActiveRecord::Base
scope :newsletter, -> { where(subscribed_to_newsletter: true) }
#yada yada
end
यह आपको केवल ऐसा करके अपने ग्राहकों तक पहुंचने की अनुमति देता है:
User.newsletter.each do #something
यह एक बहुत ही सरल उदाहरण है लेकिन सामान्य स्कोप में आपके काम को आसान बनाने के लिए बहुत शक्तिशाली उपकरण हो सकते हैं।
इस लिंक को देखें: एपीआई विवरण