Как использовать плагин uppy с webpacker на рельсах - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь использовать uppy с webpacker на рельсах, у меня проблемы с получением uppy для работы:

//  app/javascripts/src/javascript/my_scripts.js    
const Uppy = require('@uppy/core')
const DragDrop = require('@uppy/drag-drop')
const ProgressBar = require('@uppy/progress-bar')

const uppyOne = new Uppy({debug: true, autoProceed: true})
uppyOne.use(DragDrop, { target: '.UppyDragDrop-One' })

Это ошибка консоли, которую я получаю:

[Uppy] [23:29:46] Not installing DragDrop
Plugin.js:165 Uncaught Error: Invalid target option given to DragDrop. Please make sure that the element 
      exists on the page, or that the plugin you are targeting has been installed. Check that the <script> tag initializing Uppy 
      comes at the bottom of the page, before the closing </body> tag (see https://github.com/transloadit/uppy/issues/1042).
    at DragDrop.mount (Plugin.js:165)
    at DragDrop.install (index.js:204)
    at Uppy.use (index.js:901)
    at Object.<anonymous> (uppy.js:6)
    at __webpack_require__ (bootstrap a698a4c3b9adcd1bf843:19)
    at Object.<anonymous> (application.js:1)
    at __webpack_require__ (bootstrap a698a4c3b9adcd1bf843:19)
    at bootstrap a698a4c3b9adcd1bf843:62
    at bootstrap a698a4c3b9adcd1bf843:62

1 Ответ

0 голосов
/ 13 ноября 2018

Я обнаружил, что проблема в том, что в rails вы обычно ссылаетесь на все JS-файлы в заголовке файла макета, но элемент с классом '.UppyDragDrop' еще не визуализирован.

Чтобы решить эту проблему, необходимо отдельно связать javascript с помощью javascript_pack_tag после представления элемента с элементом DragDrog.

...