select2-rails gem无法在Rails4上运行

Pra*_*224 7 javascript ruby-on-rails select2-rails

我已经尝试过select2-rails gem的文档,但是我的浏览器控制台仍然会抛出错误.

未捕获的TypeError:$(...).select2不是函数

我正在使用rails 4.0.1&select2-rails 3.5.9.3

我的application.js

//= require jquery
//= require select2
//= require jquery.ui.accordion
//= require jquery.ui.menu
//= require jquery.ui.datepicker
//= require common
//= require posts
//= require twitter/bootstrap
//= require owl.carousel
//= require turbolinks
//= require vendor_js
//= require_tree .

$(document).ready(function() {
  $("select#team_select").select2();
});
Run Code Online (Sandbox Code Playgroud)

application.css

*= require select2
*= require_self
*= require jquery.ui.accordion
*= require jquery.ui.menu
*= require jquery.ui.datepicker
*= require common
*= require owl.carousel
*= require lazybox
*= require fancybox
*= require owl.theme
*= require 7531339
*= require_tree .
*= require font-awesome
Run Code Online (Sandbox Code Playgroud)

_form.html.erb

<%= f.select(:team_id, @teams.collect {|p| [p.name, p.id]}, {include_blank: "None"}, {id: "team_select"}) %>
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么?任何帮助表示赞赏.

dav*_*son 8

问题肯定在application.js中:根据他们的Demo App,需要JS插件的顺序如下:

//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require select2
//= require select2_locale_pt-BR
//= require_tree .
Run Code Online (Sandbox Code Playgroud)

你的情况,你必须加载turbolinks 之前 select2,导致:

//= require jquery
//= require turbolinks
//= require select2
//= require jquery.ui.accordion
//= require jquery.ui.menu
//= require jquery.ui.datepicker
//= require common
//= require posts
//= require twitter/bootstrap
//= require owl.carousel
//= require vendor_js
//= require_tree .
Run Code Online (Sandbox Code Playgroud)