Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Ruby

रेल में फ्लैश संदेशों का उपयोग कैसे करें

फ्लैश संदेश क्या होते हैं?

एक फ्लैश संदेश आपके रेल एप्लिकेशन के उपयोगकर्ताओं के साथ सूचनाओं को संप्रेषित करने का एक तरीका है ताकि वे जान सकें कि उनके कार्यों के परिणामस्वरूप क्या होता है।

उदाहरण संदेश :

  • “पासवर्ड सही ढंग से बदला गया” (पुष्टिकरण)
  • “उपयोगकर्ता नहीं मिला” (त्रुटि)

आप इन फ्लैश संदेशों को अपने नियंत्रकों में सेट करते हैं, फिर आप उन्हें अपने विचारों में प्रस्तुत करते हैं। तब आपके उपयोगकर्ता तदनुसार कार्य कर सकते हैं।

आइए जानें कि यह कैसे काम करता है!

फ्लैश संदेशों का उपयोग कैसे करें

आप flash . का उपयोग करके इन अधिसूचना संदेशों के साथ काम कर सकते हैं सहायक विधि।

यह काफी हद तक रूबी हैश की तरह व्यवहार करता है।

फ्लैश ऑब्जेक्ट में keys . जैसी विधियां हैं , any? या each और आप किसी विशेष संदेश को [] . के साथ एक्सेस कर सकते हैं ।

आप किस प्रकार के फ़्लैश संदेश सेट कर सकते हैं?

डिफ़ॉल्ट रूप से आपके पास . है :

  • सूचना
  • अलर्ट

यहां इसका उपयोग करने का एक उदाहरण दिया गया है :

flash.alert = "User not found."

या यदि आप चाहें तो :

flash[:alert] = "User not found."

(केवल एक शैली का अंतर।)

आप इस कोड का उपयोग अपने नियंत्रक क्रियाओं के अंदर कर सकते हैं, जैसे index , create , new , आदि.

एक और तरीका यह है :

redirect_to :books_path, notice: "Book not found"

यह आपको एक चरण में रीडायरेक्ट करने और फ़्लैश संदेश बनाने की अनुमति देता है।

बढ़िया!

अलर्ट बनाम नोटिस

जहां तक ​​मैं समझता हूं, यदि आप alert का उपयोग करते हैं तो यह वास्तव में कोई मायने नहीं रखता है या notice

जो आपकी स्थिति के लिए अधिक स्वाभाविक लगता है उसका प्रयोग करें।

मुझे alert के बारे में सोचना अच्छा लगता है एक त्रुटि संदेश और एक notice . के रूप में एक पुष्टिकरण संदेश के रूप में।

उन्हें अलग करने से आपको उन्हें अलग ढंग से स्टाइल करने में मदद मिलती है।

उदाहरण के लिए :

आप लाल रंग में अलर्ट और हरे रंग में नोटिस दिखा सकते हैं।

add_flash_types . का उपयोग करके अपने स्वयं के फ़्लैश प्रकार बनाना भी संभव है नियंत्रक विधि।

इसे पसंद करें :

class ApplicationController
  add_flash_types :info, :error, :warning
end

मुझे चीजों को सरल रखना पसंद है, इसलिए मैं बिल्ट-इन प्रकारों के साथ रहता हूं 🙂

फ्लैश संदेश प्रस्तुत करना

फ़्लैश संदेश स्वचालित रूप से नहीं दिखाए जाते हैं।

आपको उन्हें अपने विचारों में से एक के अंदर प्रस्तुत करना होगा ताकि उपयोगकर्ता उन्हें देख सकें।

इसे अपने एप्लिकेशन लेआउट में जोड़ने पर विचार करें।

यहां एक कोड उदाहरण दिया गया है :

<% flash.each do |type, msg| %>
  
    <%= msg %>
  
<% end %>

इसे जहां भी आप अपना नोटिस दिखाना चाहते हैं, आमतौर पर पृष्ठ के शीर्ष पर, मेनू बार के नीचे रखें।

याद रखें :

एक बार जब आप एक संदेश प्रस्तुत करते हैं तो उसे flash . से हटा दिया जाएगा , इसलिए इसे फिर से नहीं दिखाया जाएगा।

आपके नोटिस और अलर्ट संदेशों को स्टाइल करना

फ़्लैश संदेशों में कोई अंतर्निहित डिज़ाइन या शैली नहीं होती है।

समाधान?

यदि आप बूटस्ट्रैप का उपयोग कर रहे हैं, तो आप "alert alert-info" . का उपयोग कर सकते हैं फ़्लैश संदेशों को अच्छा दिखाने के लिए CSS क्लास।

उदाहरण :

<% flash.each do |type, msg| %>
  
    <%= msg %>
  
<% end %>

ऐसा दिखता है :

रेल में फ्लैश संदेशों का उपयोग कैसे करें

यदि आप बूटस्ट्रैप का उपयोग नहीं कर रहे हैं, तो आप इसे अपनी इच्छानुसार दिखने के लिए अपना स्वयं का सीएसएस लिख सकते हैं।

फ़्लैश संदेश कब प्रस्तुत किए जाते हैं?

आपके द्वारा प्रदर्शित किए जाने के बाद, फ्लैश संदेश केवल आपकी अगली नियंत्रक कार्रवाई पर निकाले जाते हैं।

निहितार्थ :

  • यदि आप redirect_to , फिर एक flash render प्रस्तुत करें संदेश, यह अच्छा है
  • यदि आप redirect_to और संदेश प्रस्तुत न करें, संदेश flash . में चारों ओर चिपक जाएगा हैश
  • यदि आप render उसी क्रिया पर जिस पर आप flash सेट कर रहे हैं संदेश, वह flash संदेश उपलब्ध होगा, लेकिन हटाया नहीं जाएगा इसलिए यह आसपास रहेगा और संभावित रूप से दो बार दिखाया जाएगा

तो…

क्या होगा यदि आप वर्तमान कार्रवाई के लिए फ़्लैश संदेश . सेट करना चाहते हैं ?

वहीं flash.now अंदर आता है!

यहां एक उदाहरण दिया गया है :

def index
  @books = Book.all

  flash.now[:notice] = "We have exactly #{@books.size} books available."
end

यह index रेंडर करेगा देखें।

notice संदेश दिखाया जाएगा और flash से हटा दिया जाएगा इसलिए इसे दो बार नहीं दिखाया जाएगा।

दूसरे शब्दों में :

आपको केवल flash.now . का उपयोग करने की आवश्यकता है अगर आप render करने जा रहे हैं रीडायरेक्ट करने के बजाय।

सारांश

आपने रेल में फ्लैश संदेशों और उनका सही तरीके से उपयोग करने के बारे में सीखा है!

बीटीडब्ल्यू, फ्लैश संदेश सत्यापन त्रुटियों के समान नहीं हैं। सत्यापन मॉडल ऑब्जेक्ट से जुड़े होते हैं, और आप इन सत्यापन संदेशों को errors . के साथ एक्सेस करते हैं विधि, जैसे @user.errors

अब आपकी बारी है कि आप कुछ कोड लिखकर इसे व्यवहार में लाएं।

पढ़ने के लिए धन्यवाद!


  1. फ्लैश संदेशों को कैसे रोकें

    संचार का रूप हर दिन बदल रहा है। एसएमएस संदेशों, जिन्होंने पत्रों और पोस्टकार्डों की जगह ले ली, अब व्हाट्सएप और टेलीग्राम जैसे अनुप्रयोगों द्वारा प्रतिस्थापित किए जा रहे हैं। संचार के एक त्वरित माध्यम के रूप में सेवा करने वाले एसएमएस संदेश काफी रहस्योद्घाटन थे। हालाँकि, नेटवर्क ऑपरेटरों द्वारा विज्ञा

  1. एक्सेल में फ्लैश फिल का उपयोग कैसे करें (7 आसान उदाहरण)

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

  1. Windows में RAM के रूप में फ्लैश ड्राइव का उपयोग कैसे करें

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