Rails4-JavaScript停止工作,获取:undefined不是一个函数
我有一个Rails应用程序,在其中我使用gemRails4-JavaScript停止工作,获取:undefined不是一个函数,javascript,ruby-on-rails,ruby,coffeescript,jquery-chosen,Javascript,Ruby On Rails,Ruby,Coffeescript,Jquery Chosen,我有一个Rails应用程序,在其中我使用gem选择的Rails(或选择的sass引导Rails):在我的gemfile中,我有以下内容: gem 'chosen-sass-bootstrap-rails' 它以前是有效的,但现在我不断地出现这个错误——我不知道为什么: [Error] TypeError: undefined is not a function (evaluating '$('.chosen- select').chosen({ allow_single_deselect
选择的Rails
(或选择的sass引导Rails):在我的gemfile
中,我有以下内容:
gem 'chosen-sass-bootstrap-rails'
它以前是有效的,但现在我不断地出现这个错误——我不知道为什么:
[Error] TypeError: undefined is not a function (evaluating '$('.chosen- select').chosen({
allow_single_deselect: true,
no_results_text: 'No results matched',
width: '100%'
})')
我的application.js
如下所示:
//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require jquery.turbolinks
//= require chosen-jquery
//= require scaffold
//= require jquery.purr
//= require best_in_place
//= require bootstrap-datepicker
//= require jquery-fileupload
//= require autocomplete-rails
//= require jquery-ui
//= require jquery.countdown
//= require autocomplete-rails
//= require bootstrapValidator.min
//= require turbolinks
//= require_tree .
= select_tag "tag", options_from_collection_for_select(@team_tags, 'name', 'name', params[:tag]), prompt: "All tags", class: 'form-control chosen-select select-ideas-tag', onchange: "window.location.replace('/teams/#{@team.id}/tags/' + this.value + '?search=#{params[:search]}');"
# enable chosen js
$('.chosen-select').chosen
allow_single_deselect: true
no_results_text: 'No results matched'
width: '100%'
在application.css.scss
中,我有一行:
*= require chosen_bootstrap
我的HTML(或HAML)如下所示:
//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require jquery.turbolinks
//= require chosen-jquery
//= require scaffold
//= require jquery.purr
//= require best_in_place
//= require bootstrap-datepicker
//= require jquery-fileupload
//= require autocomplete-rails
//= require jquery-ui
//= require jquery.countdown
//= require autocomplete-rails
//= require bootstrapValidator.min
//= require turbolinks
//= require_tree .
= select_tag "tag", options_from_collection_for_select(@team_tags, 'name', 'name', params[:tag]), prompt: "All tags", class: 'form-control chosen-select select-ideas-tag', onchange: "window.location.replace('/teams/#{@team.id}/tags/' + this.value + '?search=#{params[:search]}');"
# enable chosen js
$('.chosen-select').chosen
allow_single_deselect: true
no_results_text: 'No results matched'
width: '100%'
我的JS(或CoffeeScript)如下所示:
//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require jquery.turbolinks
//= require chosen-jquery
//= require scaffold
//= require jquery.purr
//= require best_in_place
//= require bootstrap-datepicker
//= require jquery-fileupload
//= require autocomplete-rails
//= require jquery-ui
//= require jquery.countdown
//= require autocomplete-rails
//= require bootstrapValidator.min
//= require turbolinks
//= require_tree .
= select_tag "tag", options_from_collection_for_select(@team_tags, 'name', 'name', params[:tag]), prompt: "All tags", class: 'form-control chosen-select select-ideas-tag', onchange: "window.location.replace('/teams/#{@team.id}/tags/' + this.value + '?search=#{params[:search]}');"
# enable chosen js
$('.chosen-select').chosen
allow_single_deselect: true
no_results_text: 'No results matched'
width: '100%'
知道它为什么不起作用吗
更新
似乎不仅仅是选择的rails
停止了工作,而且JS似乎完全停止了工作。我的库没有一个像预期的那样工作。我尝试过重建和清理我的资产,但没有任何帮助
不确定是什么原因造成的,也不知道如何找到主要问题
有什么想法吗?可能的原因: 在应用程序中同时包含jquery和Selected两次。双重包含任何一个都可能导致此错误 你也可以试试这个 //=需要jquery /=需要jquery.turbolinks //=需要jquery\u ujs //=需要所选jquery //=需要脚手架 //=需要jquery.purr //=需要jquery用户界面 //=需要引导 //=需要jquery.countdown /=需要TurboLink //=需要一棵树
为什么同时需要jquery.turbolinks和turbolinks。您可以禁用turbolinks并进行检查吗?可能的原因: 在应用程序中同时包含jquery和Selected两次。双重包含任何一个都可能导致此错误 你也可以试试这个 //=需要jquery /=需要jquery.turbolinks //=需要jquery\u ujs //=需要所选jquery //=需要脚手架 //=需要jquery.purr //=需要jquery用户界面 //=需要引导 //=需要jquery.countdown /=需要TurboLink //=需要一棵树
为什么同时需要jquery.turbolinks和turbolinks。您可以禁用turbolinks并进行检查吗?您关于所有JS停止工作的建议表明您的初始化代码导致了错误:它停止了对JS代码的所有进一步计算。错误显示了“selected-select”之间的一些间隔(更多一点表示问题)。破折号和“选择”之间是否有不可打印的字符 我追踪问题的顺序是:
我希望此信息为您指明了正确的方向……您关于所有JS停止工作的建议表明您的初始化代码导致了错误:它停止了对JS代码的所有进一步计算。错误显示了“selected-select”之间的一些间隔(更多一点表示问题)。破折号和“选择”之间是否有不可打印的字符 我追踪问题的顺序是:
我希望这些信息为您指明了正确的方向。结果我想包括
jQuery
两次。一次是在application.html
中,另一次是在application.js
中。删除application.html
中的一次使它起作用。结果我想包括jQuery
两次。一次是在application.js
中的。删除application.html
中的一个使其工作。尝试删除其中一个,但没有任何区别。非常确定这是rails默认设置,不记得添加了其中任何一个。尝试删除其中一个,但没有任何区别。非常确定这是一个错误rails默认,不记得添加了它们。感谢您的指导。对于#1,我将尝试这样做,问题是,正如我所提到的,似乎有很多JS工作不正常。#3我同意,但如果我完全删除选择的引导
,我会为另一个库引导日期选择得到另一个错误er
(也突然停止工作)。因此,在我的情况下,我不确定问题的根源是什么。当您添加gems时,只有第三方代码会发生更改