मैं एक ऐप पर काम कर रहे रेल डेवलपर पर एक नया रूबी हूं जो आसान-स्वत: पूर्ण प्लग-इन का उपयोग करता है। मैंने इस पर एक ट्यूटोरियल का अनुसरण किया है और इसे पूरी तरह से काम नहीं कर सकता। जावास्क्रिप्ट स्वचालित रूप से निष्पादित नहीं हो रहा है और जब मैन्युअल रूप से लागू किया जाता है, तो परिणामी JSON को संभाला नहीं जा रहा है।

जावास्क्रिप्ट जो दर्ज किए गए डेटा का उपयोग करता है और सर्वर को कॉल करता है वह काम कर रहा है। और नियंत्रक खोज करता है और JSON ऑब्जेक्ट बनाता है।

लेकिन JSON कभी भी इसे ब्राउज़र पर वापस नहीं लाता है क्योंकि फ़ील्ड कभी भी लौटाए गए डेटा के साथ ड्रॉपडाउन प्रदर्शित नहीं करता है। (सर्वर साइड पर मैंने सत्यापित किया है कि सही डेटा जेनरेट किया जा रहा है)।

एक और समस्या यह है कि संपत्ति फ़ाइल में जावास्क्रिप्ट कभी निष्पादित नहीं होता है। यदि मैं इसे मैन्युअल रूप से Chrome Devtools कंसोल में दर्ज करता हूं तो मुझे फ़ील्ड पर निष्पादित करने के लिए केवल जावास्क्रिप्ट मिलता है। एक बार यह दर्ज हो जाने पर सर्वर कॉल बंद हो जाती है। लेकिन फिर से परिणामी JSON फ़ील्ड के साथ ड्रॉपडाउन में दिखाई नहीं दे रहा है।

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

#  The Javascript:

document.addEventListener("turbolinks:load", function() {
  $input = $("[id='basics']")

  var options = {
    getValue: "name",
    url: function(phrase) {
      return "/search.json?q=" + phrase;
    },
    categories: [
      {
        listlocation: "users",
        header: "Users",
      }
    ]
  };

  $input.easyAutocomplete(options);
});

#  The controller action:

  def search
    @users = User.ransack(email_cont: params[:q]).result(distinct: true).limit(5)

    respond_to do |format|
      format.html {}
      format.json {
        @users = @users.limit(3)
      }
    end
  end
0
pstutler 9 नवम्बर 2019, 01:33

1 उत्तर

सबसे बढ़िया उत्तर

मुझे यह एक नए स्वच्छ ऐप में काम करने के लिए मिला। कुछ जेसन बिल्डर संशोधनों की आवश्यकता है लेकिन जावास्क्रिप्ट को निष्पादित किया गया और अंततः परिणाम प्रदान किया गया। मैं जिस ट्यूटोरियल का अनुसरण कर रहा था, उसमें जावास्क्रिप्ट के लिए गलत जोंस बिल्डर कोड था

0
pstutler 13 नवम्बर 2019, 16:57