ruby on rails - edgeguides code - confused about a particular error -
ठीक है ...
& lt;% = form_for: आलेख, url: articles_path do | | f & Gt%; & Lt;% if @ article.errors.any? & Gt%; & Lt; div id = "error_explanation" & gt; & Lt; h2 & gt; & lt;% = बहुवचन (@ article.errors.count, "त्रुटि")% & gt; इस आलेख को सहेजने से प्रतिबंधित किया गया: & lt; / h2 & gt; & LT; ul & gt; & Lt;% @ article.errors.full_messages.each do | msg | | & Gt%; & Lt; li & gt; & lt;% = msg% & gt; & lt; / li & gt; & Lt;% end% & gt; & Lt; / ul & gt; & Lt; / div & gt; & Lt;% end% & gt; & Lt; p & gt; & Lt;% = f.label: शीर्षक% & gt; & lt; br & gt; & Lt;% = f.text_field: शीर्षक% & gt; & Lt; / p & gt; & Lt; p & gt; & Lt;% = f.label: टेक्स्ट% & gt; & lt; br & gt; & Lt;% = f.text_area: टेक्स्ट% & gt; & Lt; / p & gt; & Lt; p & gt; & Lt;% = f.submit% & gt; & Lt; / p & gt; & Lt;% end% & gt; & Lt;% = link_to 'पीछे', लेख_पथ% & gt;
ठीक है, ऊपर दिए गए कोड
प्रश्न इस भाग से संबंधित है:
& lt;% = form_for: article, url: लेख_पथ करो | एफ | & Gt%; & Lt;% if @ article.errors.any? & Gt%;
अगर मैं : आलेख
से @article
को पहली पंक्ति में बदलता हूं, तो यह अभी भी काम करता है और यह सही होना चाहिए, क्योंकि वे विनिमेय हैं, हां?
लेकिन अगर मैं इसे दूसरे तरह से बदलता हूं:
@ article.errors.any?
: article.errors.any?
यह त्रुटियों को उत्पन्न करता है, विशेष रूप से:
अपरिभाषित विधि 'त्रुटियों' के लिए: लेख: प्रतीक
क्यों ??
कृपया सौम्य रहो क्योंकि मैं अभी भी समझने की कोशिश कर रहा हूं जो आप के लिए स्पष्ट है।
ज़ोर से सोचकर, दूसरी पंक्ति के लिए प्रतीक का काम नहीं करने का कारण यह है कि उसे त्रुटियों को इकट्ठा करने के लिए एक उदाहरण की आवश्यकता है, है ना?
लेकिन फिर, क्या प्रतीकों के साथ परस्पर विनिमय नहीं है? इसका मतलब है कि रेल को उस रेखा को पढ़ना चाहिए और इसे एक उदाहरण में तब्दील करना होगा, यानी, यह मॉडल वर्ग का उदाहरण पाता है, हां?
संपादित करें
जाहिरा तौर पर , मैंने अभी तक पर्याप्त नहीं पढ़ा है, और मैंने दिल से नहीं लिया, जो कि मैंने पहले के फार्म के लिए सीखा है ...
एज गिगाइड यह कोड के बाद कहता है:
< कोड> फॉर्म_टैग का पहला पैरामीटर एक ऑब्जेक्ट हो सकता है, जो कहते हैं, @ स्टार्ट जिससे सहायक को ऑब्जेक्ट के फ़ील्ड के साथ फॉर्म भरना पड़ता है। आवृत्ति चर (@ कर्नल) के रूप में एक ही नाम के साथ एक प्रतीक (: आलेख) पास करते हुए भी स्वचालित रूप से एक ही व्यवहार की ओर जाता है यह वही है जो यहाँ हो रहा है। अधिक विवरण दस्तावेज के लिए form_ में मिल सकते हैं।
कुंजी form_for सहायक के लिए है
यही कारण है कि यह दूसरी पंक्ति के लिए काम नहीं करता ... क्योंकि यह पता नहीं लगा सकता कि प्रतीक के स्थान को कैसे भरना है।
उम्मीद है कि यह कुछ अन्य गरीब लोगों / लड़कियों को मदद करता है।
ps यदि मेरा संपादन गलत है तो मुझे सही करने के लिए स्वतंत्र महसूस करें
: लेख केवल मॉडल है (वास्तव में यकीन नहीं है) @र्टिकल एक उदाहरण है
मेरे अनुप्रयोगों में मैं हमेशा
@ एर्टिकल | एफ | & Gt%;
तो मुझे विश्वास है कि फ़ॉर्म और एफ वेरिएबल उदाहरण के लिए प्रतीक को दर्शाता है और सभी क्षेत्रों को अपेक्षित रूप से भर दिया जाएगा।
अधिक जटिल मार्गों में मैं Url पैरामीटर भी।
& lt;% = form_for: आलेख,: url = & gt; लेख_पथ करो | एफ | & Gt%;
लेकिन यह केवल और अधिक स्पष्ट है अगर यह दिशागत मार्गों में जाता है।
Comments
Post a Comment