Display link in Rails form error message -


हमारे साइन-अप फॉर्म पर, हम validates_uniqueness_of: email

जब एक उपयोगकर्ता हमारे साइन अप फॉर्म का उपयोग करने का प्रयास कर रहा है और उन्होंने एक मौजूदा ईमेल पता निर्दिष्ट किया है, मुझे यह पसंद है जैसे यह एक त्रुटि संदेश देखने के लिए

यह ईमेल पता पहले से उपयोग में है यदि आपको प्रवेश करने में समस्या हो रही है, तो आप

स्पष्ट रूप से, मैं लिंक के लिए नामित मार्ग का उपयोग करना चाहूंगा, लेकिन मेरे यूजर मॉडल के पास इसका उपयोग नहीं है। मैं इसे कैसे पूरा कर सकता हूं?

साइड नोट: हम जल्द ही हमारे ऐप के लिए अनुवाद की पेशकश करेंगे और ये सभी त्रुटि संदेश YAML फाइलों में समाप्त हो जाएंगे। क्या मैं किसी भी तरह से अपने YAML लोकेल फाइलों में एक संदेश में अपना new_password_url इंजेक्ट कर सकता हूं? (जैसे, config / locales / en.yml )

मुझे पता है एक पुराना सवाल है, लेकिन भविष्य के उपयोगकर्ताओं के लिए, जो एक त्रुटि संदेश में एक लिंक डालना चाहते हैं, यहां कुछ दिशानिर्देश दिए गए हैं जो मेरे लिए काम करते हैं।

सबसे पहले, I18n त्रुटि संदेशों को पहले से ही HTML सुरक्षित माना जाता है, इसलिए आप आगे बढ़कर एक उपयुक्त त्रुटि संदेश लिख सकते हैं इस उदाहरण में, मैं "ईमेल लिया जाता है" संदेश बदल रहा / रही हूं।

  # config / locales / en.yml activrecord: त्रुटियाँ: मॉडल: उपयोगकर्ता: विशेषताएं: ईमेल: लिया: 'है पहले ही लिया गया अगर यह आपका ईमेल पता है, तो & lt; a href = "% {link}" & gt; लॉगिंग इन & lt; / a & gt; बजाय।'   

इंटरपोलेटेड वैरिएबल % link पर ध्यान दें।

अब आपके पास अपने वैलिएर में उस वैरिएबल के मान में पास की आवश्यकता है, जैसे इसलिए: <प्री> # ऐप / मॉडल / उपयोगकर्ता.आरबी मान्य: ईमेल,: विशिष्टता = & gt; {: लिंक = & gt; Rails.application.routes.url_helpers.login_path} (डिफ़ॉल्ट रूप से, यहां पर आपके द्वारा पास किए गए कोई भी विकल्प स्वचालित रूप से I18n ट्रांसलेटर को चर के रूप में भेजा जायेगा, जिसमें कुछ विशेष पूर्ववर्ती चर शामिल हैं जैसे % value , % मॉडल , आदि)

यह बात है! आपके पास अब आपके त्रुटि संदेश में एक लिंक है।

Comments