Ошибка при попытке использовать select 2 в rails 6 - PullRequest
0 голосов
/ 27 мая 2020

Я пытаюсь использовать select2 в рельсах 6 с помощью gem select2-rails.

Я уже добавляю в gemfile gem "select2-rails", запускаю bundle и yarn add select2 и далее inport * require("select2") но когда я пытаюсь использовать, я получаю эту ошибку

$(...).select2 is not a function

как мне это нравится?

1 Ответ

1 голос
/ 27 мая 2020

Вот шаги, которые вы можете выполнить для установки select2 в Rails 6:

  1. Установите Webpacker в свой проект Rails должным образом в соответствии с проектом README. Если вы начинаете с приложения Rails 6, это будет сделано по умолчанию.

  2. Добавьте оба jquery и select2:

    yarn add jquery select2 
    
  3. Добавить поле выбора в DOM

    <select class="js-states" name="state">
      <option value="AL">Alabama</option>
       ...
      <option value="WY">Wyoming</option>
    </select>
    
  4. Импорт jquery, select2 и select2 css и применить к полю выбора при загрузке страницы:

    import $ from 'jquery'
    import 'select2'
    import 'select2/dist/css/select2.css'
    
    window.addEventListener('DOMContentLoaded', () => {
      $('.js-states').select2()
    })
    
  5. Для разработки укажите compile: true в config/webpacker.yml. Запуск webpack-dev-server не является обязательным.

Для получения дополнительной информации вы также можете проверить эту демонстрацию: https://github.com/rossta/rails6-webpacker-demo/compare/example/select2

...