我已尝试为 the select2-rails gem 提供文档, 但我的浏览器控制台仍然抛出错误。
Uncaught TypeError: $(...).select2 is not a function
我正在使用 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();
});
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
_form.html.erb
<%= f.select(:team_id, @teams.collect {|p| [p.name, p.id]}, {include_blank: "None"}, {id: "team_select"}) %>
我在这里做错了什么?感谢您的帮助。
最佳答案
问题肯定出在application.js:根据他们的Demo App ,需要JS插件的顺序如下:
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require select2
//= require select2_locale_pt-BR
//= require_tree .
在你的情况下,你必须加载 turbolinks
before 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 .
关于javascript - select2-rails gem 不适用于 Rails4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30545787/