【发布时间】:2023-03-31 12:17:01
【问题描述】:
我正在尝试按照 Ryan Bates Railscast nbr 258 将 tokeninput 集成到我的小 Rails 应用程序中。
因此,
我在vendors目录中添加了tokeninput文件
然后我更改了我的 application.js 文件:
//
//= require jquery
//= require jquery_ujs
//= require jquery.tokeninput
//= require bootstrap
//= require chosen-jquery
//= require jquery_nested_form
//= require bootstrap-datetimepicker.min
//= require_tree .
然后我在文件 categories.js.coffee 中添加了这段代码
jQuery ->
$('#company_category_list').tokenInput('/categories.json',
theme: 'facebook'
prePopulate: $('#company_category_list').data('load')
)
当我转到我的表单时,浏览器控制台会说:
TypeError: $(...).tokenInput is not a function
[Break On This Error]
prePopulate: $('#company_category_list').data('load')
我一直在寻找几个小时,但我没有找到这个错误的原因。资产管道似乎正确加载了 jquery.tokeninput 文件。
任何帮助,欢迎提出建议!
【问题讨论】:
-
对不起,我不能helo,但我遇到了同样的问题
-
我昨天晚上可以解决它。由于 Rails 预编译资产,Jquery 加载了两次。也许您可以检查 jquery 的双重加载...
-
谢谢,我也是这样解决的。
-
您好,您能解释一下您是如何解决这个问题的吗?你做了什么来防止 jquery 加载两次?
-
是的,我不再在 dev 中预编译,我从我的公共文件夹中删除了预编译的资产。您可以将 Heroku 设置为每次推送时自动预编译。实际上 Heroku 默认会这样做。
标签: jquery ruby-on-rails jquery-tokeninput