2011-06-01 12 views
6

मैं साइनअप वर्कफ़्लो के "पूर्ण होने का प्रतिशत" प्रबंधित करने के लिए एक अच्छा मणि ढूंढ रहा हूं। असल में, मेरा एप्लिकेशन उपयोगकर्ता को केवल एक ईमेल और पासवर्ड के साथ पंजीकरण करने की अनुमति देता है, उसके बाद एक लिंक्डइन शैली प्रतिशत सूचक होता है जो जन्मदिन और लिंग जैसे क्षेत्रों को बढ़ाता है। क्या इस तरह के प्रवाह को स्थापित करने में मदद के लिए एक अच्छा मणि मौजूद है?रेल में प्रोफाइल पूरा करने के प्रतिशत के लिए जेम

धन्यवाद!

+1

एक मणि है कि करने के लिए अपने खोज क्यों वास्तव में कर रहे हैं? क्या ऐसा कुछ नहीं है जिसे आप सीधे अपने आवेदन कोड में कार्यान्वित कर सकते हैं? – plang

उत्तर

5

मुझे लगता है कि completeness-fu क्या आप के लिए

+0

धन्यवाद! ठीक वही जो मेरे द्वारा खोजा जा रहा था! – Stussa

3

मैं इसके लिए एक मणि का उपयोग नहीं करता। आप अपनी उपयोगकर्ता प्रोफ़ाइल पर प्रतिशत पूर्ण क्यों नहीं बनाते हैं और प्रोफ़ाइल पेज में प्रतिशत को पूरा करने के लिए इसका उपयोग नहीं करते हैं। उपयोगकर्ता पहली बार विशेषता को जोड़ता है, इसलिए स्केल पर वांछित संख्याओं को जोड़ दें। आप यह सुनिश्चित करने के लिए अपने उपयोगकर्ता मॉडल में कुछ चेक का भी उपयोग कर सकते हैं कि स्केल 100 पर या नीचे रहता है ताकि आपके पास कोई अजीब बग न हो।

आप मॉडल में

, पूरा करने के लिए क्षेत्रों के साथ एक सरणी बनाने के साथ-साथ एक पूर्णांक क्षेत्र:

11

यहाँ देख रहे हैं एक बहुत ही सरल (और लंगड़ा) समाधान के लिए एक डेमो है

class User < AR::Base 
    PROFILE_COMPLETENESS = %w[email, website_url, personal-info, etc ] 

    before_update :update_profile_progress, :if => Proc.new {|u| u.progress_status < 100} 

    private 
    def update_profile_progress 
    progress = 0 
    PROFILE_COMPLETENESS.each do |field| 
     progress += 1 unless field.blank? 
    end 
    self.progress_status = (progress/PROFILE_COMPLETENESS * 100).to_i 
    end 
end 

इस तरह से, हर एक उपयोगकर्ता यह प्रोफाइल, प्रतिशत अद्यतन किया जाता है है अद्यतन करता है (केवल यदि 100% तक है): वर्तमान स्थिति स्टोर करने के लिए, उदाहरण के लिए।

शायद बेहतर समाधान कर रहे हैं, इस समस्या का सिर्फ एक संभव दृष्टिकोण है;)

+0

मैं रेलवे html.erb –

+0

@FaiqAdam user.progress_status में कैसे देख सकता हूं। बीटीडब्ल्यू, 3 साल बाद, आज मैं कहूंगा कि मैं विचारों के लिए कुछ सजावटी/प्रस्तुतकर्ता का उपयोग करूंगा। –

+0

धन्यवाद, किसी भी ट्यूटोरियल में ऑनलाइन या मणि है। –

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