2012-01-30 13 views
45

अब तक मुझे मिल गया है:रेल में क्या फ़्लैश संदेश प्रकार उपलब्ध हैं?

  • : नोटिस
  • : चेतावनी
  • : त्रुटि

लेकिन ऐसी redirect_to path, :error => "Oh no!" में के रूप में निश्चित सूची, उस जगह में इस्तेमाल किया जा सकता है, ?

उत्तर

29

नहीं, एक फ्लैश प्रकार के रूप में आप किसी भी प्रतीक का उपयोग कर सकते हैं, यहां तक ​​कि स्वयं भी।

+3

जैसे स्टीव ग्रॉसी नीचे बताते हैं, आप किसी भी प्रतीक को 'redirect_to'' के रूप में पास नहीं कर सकते हैं, उदाहरण के लिए cjm2671 उपयोग करता है। – Nathan

75

Hauleth सही है कि आप किसी भी प्रतीक का उपयोग कर सकते हैं, लेकिन अभी, :notice और :alert केवल हैं आप (flash.rb in Rails source के अनुसार) redirect_to में सीधे पारित कर सकते हैं जैसा कि आप विशेष रूप से उल्लेख:

redirect_to path, :error => "Oh no!" # Will not work 

आप एक अलग फ़्लैश प्रकार चाहते हैं :error (या :success) जैसे, आप उन में :flash कुंजी के माध्यम से, गुजरना होगा तो जैसे:

redirect_to path, :flash => { :error => "Oh no!" } 

अपनी कस्टम फ़्लैश प्रकार रजिस्टर ताकि, :notice और :alert की तरह, आप उन्हें redirect_to में सीधे पारित कर सकते हैं, देखते हैं कि यह StackOverflow क्यू & एक के बारे में जानकारी के लिए: https://stackoverflow.com/a/3848759/995663

अद्यतन:this commit के अनुसार, ऐसा लगता है कि रेल 4 आपको एप्लिकेशन कंट्रोलर में add_flash_types :error पर कॉल करके कस्टम फ़्लैश प्रकारों को पंजीकृत करने की अनुमति देकर इसे आसान बना देगा।

+2

रेल 4 रास्ता: http://stackoverflow.com/a/18642036/2148302 – sampi

+0

प्रदर्शन के बारे में बात करना या एक ही व्यवहार को प्राप्त करने का सही तरीका, जाने का सबसे अच्छा तरीका क्या है: ** 1.- नए फ़्लैश प्रकार जोड़ना * * 'add_flash_types के साथ: त्रुटि, ... 'या ** 2.- फ्लैश ऑब्जेक्ट में नए हैंश जोड़ना ** के साथ': flash => {: error =>" अरे नहीं! " } '? –

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