2012-01-29 15 views
5

यह ऐप्स के बीच एक आम पैटर्न है और मुझे यकीन है कि एक सुंदर समाधान है, लेकिन मेरे जीवन के लिए मुझे कोई जवाब नहीं मिल रहा है। एक बड़ा मुद्दा यह है कि मुझे नहीं पता कि इसे क्या कहना है!रेल 3: सिस्टम अधिसूचनाओं के लिए रणनीति

मैं सिस्टम के प्रत्येक उपयोगकर्ता को एक बार नोटिफिकेशन देने के लिए उचित समाधान खोजने का प्रयास कर रहा हूं। जब वह उपयोगकर्ता अधिसूचना को स्वीकार या बंद कर देता है, तो वे इसे फिर से व्यक्तिगत रूप से नहीं देखते हैं, लेकिन अन्य उपयोगकर्ता तब तक स्वीकार करेंगे जब तक वे इसे स्वीकार नहीं करते।

यह जब रखरखाव नोटिस, नई सुविधाओं कर रही है, पर-बोर्डिंग, आदि

जाहिर है, यह एक ध्वज है कि इस विशेष इस विशेष संदेश को स्वीकार किया है के रूप में कुछ डेटाबेस में रहने के लिए की आवश्यकता होगी आम है, लेकिन ऐसा लगता है जैसे कि इन्हें वितरित करने के लिए एक अच्छी तरह से विचार योजना के बिना जल्दी और अनावश्यक हो सकता है।

उत्तर

2

इसी तरह के प्रश्न के लिए my answer देखें।

संदेश मेरे उपयोगकर्ता मॉडल में एक क्रमबद्ध सरणी के रूप में रहते हैं। इस तरह मैं नए संदेशों के लिए #push जैसे सरल सरणी विधियों का उपयोग कर सकता हूं। व्यक्तिगत संदेशों को रद्द करने के लिए उपयोगकर्ता #delete_at का उपयोग करके, या #clear का उपयोग करके उन सभी को रद्द करने के लिए केवल विशिष्ट संदेशों से निपटते हैं।

प्रसारण नोटिफिकेशन के लिए, आप के रूप में अप्रिय कुछ कर सकते हैं के रूप में:

User.all.map {|x| x.messages.push "You have been notified." ; x.save } 

है, जो अगर अक्सर उपयोग नहीं किए, कि एक समझौते के बड़ा नहीं है।

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