मैंने कुछ क्लिक ईवेंट के लिए HTTP अनुरोध सबमिट करने के लिए एक नई JS स्क्रिप्ट लिखी है। वर्तमान में मेरे रेल ऐप में सभी पृष्ठों के विरुद्ध चल रहा है। (आदर्श नहीं है, लेकिन मुझे लगा कि यह कुछ समय के लिए गंभीर मुद्दों का कारण नहीं बनेगा। हालांकि, इसकी उपस्थिति से बड़ी संख्या में कैपिबारा परीक्षण विफल हो जाते हैं। मुझे नहीं पता कि क्यों।

function onCheckboxClick() {
  const url = $(this).attr("data-action")
  const data = {
    method: "PATCH",
    body: JSON.stringify({ confidential: this.checked }),
    headers: {
      'X-CSRF-Token': Rails.csrfToken(),
      'Content-Type': 'application/json'
    }
  }
  fetch(url, data)
    .then(response => { return response.json() })
    .catch(error => console.log(error))
}

$(document).on('turbolinks:load', () => {
  const checkboxes = document.querySelectorAll("#invoice_confidential")
  checkboxes.forEach((box) => {
    box.addEventListener("click", onCheckboxClick)
  })
})
0
Sam J 14 फरवरी 2019, 18:31

1 उत्तर

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

वैसे आप ES6 सिंटैक्स का उपयोग कर रहे हैं मुझे नहीं पता कि आप अपने परीक्षणों के लिए किस ब्राउज़र का उपयोग कर रहे हैं लेकिन यह समस्या हो सकती है, शायद इसे ES5 में संकलित करने की आवश्यकता है।

लेकिन आपने पर्याप्त जानकारी नहीं दी। आप किस रेल संस्करण का उपयोग कर रहे हैं? क्या आप वेबपैकर का उपयोग कर रहे हैं? क्या आपके पास बेबेल सेटअप है? हो सकता है कि आप कुछ कॉन्फ़िगरेशन सामग्री साझा कर सकें।

0
Smek 14 फरवरी 2019, 15:54