Rails 5 和 select2 错误,select2 不是函数

Posted

技术标签:

【中文标题】Rails 5 和 select2 错误,select2 不是函数【英文标题】:Rails 5 and select2 error, select2 is not a function 【发布时间】:2018-08-09 09:23:52 【问题描述】:

我正在尝试使用 rails select2 gem,gem 'select2-rails' 但是当我尝试将它与以下订单导入顺序一起使用时,我的浏览器抱怨 select2 不是一个函数。从我所拥有的found 来看,这个顺序应该是正确的。

javascripts/application.js

//= require rails-ujs
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require select2-full
//= require_tree .

$(document).on('turbolinks:load', function() 
   console.log('(document).turbolinks:load')
   $("#estimation_patient_id").select2(
       theme: "bootstrap"
   );
);

【问题讨论】:

【参考方案1】:

你可以使用

//= require rails-ujs

//= require jquery_ujs

两者都不需要

并修改如下

(function($)
    $(document).on('turbolinks:load', function() 
       $("#estimation_patient_id").select2(
           theme: "bootstrap"
       );
    );
(jQuery));

记住:有时//= require select2-full 不起作用,但//= require select2 可以很好地满足所有要求。我推荐使用//= require select2

【讨论】:

我的 require 语句的顺序与我的问题完全相同,但它适用于您答案中的函数。谢谢

以上是关于Rails 5 和 select2 错误,select2 不是函数的主要内容,如果未能解决你的问题,请参考以下文章

Rails 6 + Webpacker:未捕获的类型错误:$(...).select2 不是函数

Rails 6.1.3,webpacler,select2,出现错误:readyException.js:6 Uncaught TypeError: $(...).select2 is not a f

带有 select2 的 Rails 5 ask_as_taggable

在 Rails 3.2.8 中使用 select2 gem 时 Sprockets::FileNotFound

导轨 5.2 | Select2 多个逗号分隔的参数

Rails 使用 select2(和 simple_form)作为可标记