首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >select2-rails gem不适用于Rails4

select2-rails gem不适用于Rails4
EN

Stack Overflow用户
提问于 2015-05-30 11:47:20
回答 4查看 5.6K关注 0票数 7

我已经尝试给出了select2-rails宝石的文档,但是我的浏览器控制台仍然抛出错误。

Uncaught:$(.).select2不是函数

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

我的application.js

代码语言:javascript
复制
//= 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

代码语言:javascript
复制
*= 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

代码语言:javascript
复制
<%= f.select(:team_id, @teams.collect {|p| [p.name, p.id]}, {include_blank: "None"}, {id: "team_select"}) %>

我在这里做错了什么?任何帮助都是非常感谢的。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-06-08 09:14:41

根据application.js:的演示应用程序,问题肯定是存在的,需要JS插件的顺序如下:

代码语言:javascript
复制
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require select2
//= require select2_locale_pt-BR
//= require_tree .

在您的示例中,您必须在turbolinks之前加载select2,从而导致:

代码语言:javascript
复制
//= 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 .
票数 8
EN

Stack Overflow用户

发布于 2015-08-25 21:06:59

在使用rails 4.1.5 & select2-rails 3.5.9.3时,我从未遇到过这个问题。然而,在将rails升级到4.2.4之后,我得到了这个问题中描述的相同的错误:

Uncaught:$(.).select2不是函数

我能够通过从Gemfile中删除"select2-rails“创业板来解决错误,并将其替换为:

代码语言:javascript
复制
source 'https://rails-assets.org' do
  gem 'rails-assets-select2', '~> 4.0.0'
end
票数 1
EN

Stack Overflow用户

发布于 2016-11-02 01:50:35

在rails 5上,使用CoffeeScript和turbolinks,我必须使用该行:

$(document).on "turbolinks:load", ->放在首位,以便在加载所需的带有select标记的页面时执行代码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30545787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档