2010-08-11 10 views
11

मैं नीचे दिखाए गए एक सहायक विधि के साथ अपने आवेदन में त्रुटि और नोटिस संदेश प्रदर्शित कर रहा हूं।रेल में फ्लैश संदेश अगले पृष्ठ पर ले जा रहे हैं

def display_flash_content 
    [:error, :notice].map do |key| 
     collection = flash[key].blank? ? [] : (flash[key].respond_to?(:map) ? flash[key] : [flash[key]]) 
     collection.map {|item| content_tag(:div, item, :class => key.to_s) } 
    end 
    end 

और मेरे लेआउट इस

<%= display_flash_content %> 

मैं जब मैं कुछ आपरेशन कर इन संदेशों को प्रदर्शित करने के लिए और फिर एक विशिष्ट पृष्ठ पर रीडायरेक्ट की जरूरत है (यह ठीक काम कर रहा है) है। लेकिन मेरी समस्या यह है कि यह फ़्लैश संदेश पृष्ठों के बीच बनी हुई है। यह उन पृष्ठों के बीच दो बार आ रहा है जहां उपयोगकर्ता को प्रदर्शित होने के तुरंत बाद इसे साफ़ करने की आवश्यकता है।

इस परिदृश्य को कैसे संभालें। कृपया मेरी मदद करें!

उत्तर

29

जिस तरह से आप फ्लैश संदेशों को प्रदर्शित कर रहे हैं ठीक है। मुझे लगता है कि समस्या यह है कि आप उन्हें कैसे सेट कर रहे हैं। यदि आप फ़्लैश संदेश सेट कर रहे हैं और रीडायरेक्ट नहीं कर रहे हैं तो आप flash[:notice] के बजाय flash.now[:notice] पर असाइन कर सकते हैं, उदाहरण के लिए, और आपका संदेश रीडायरेक्ट के बाद आसपास नहीं लटका होगा।

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