Rails javascript包括工作不正常
我正在应用程序上安装一个新的引导管理主题 如果我像这样在应用程序主体div的末尾包含我的javascript文件,它将非常有效Rails javascript包括工作不正常,javascript,jquery,ruby-on-rails,twitter-bootstrap,Javascript,Jquery,Ruby On Rails,Twitter Bootstrap,我正在应用程序上安装一个新的引导管理主题 如果我像这样在应用程序主体div的末尾包含我的javascript文件,它将非常有效 <%= javascript_include_tag 'app.min.e05f769f' %> <%= javascript_include_tag 'plugins-init' %> <%= javascript_include_tag 'switchery-settings' %> <%= javascript_incl
<%= javascript_include_tag 'app.min.e05f769f' %>
<%= javascript_include_tag 'plugins-init' %>
<%= javascript_include_tag 'switchery-settings' %>
<%= javascript_include_tag 'js/jquery.dataTables.min' %>
<%= javascript_include_tag 'js/dataTables.bootstrap.min' %>
<%= content_for?(:extra_scripts) ? yield(:extra_scripts) : nil %>
在这里,我的导航栏链接和所有与javascript相关的功能都被禁用。我在控制台中遇到这种错误
Uncaught TypeError: Cannot read property 'defaults' of undefined
at application-7bd22507ed6202d2c9cdc970588f95759f6c5c6eaa7703cae22cbf0a7af22c5a.js:33719
at application-7bd22507ed6202d2c9cdc970588f95759f6c5c6eaa7703cae22cbf0a7af22c5a.js:33719
at application-7bd22507ed6202d2c9cdc970588f95759f6c5c6eaa7703cae22cbf0a7af22c5a.js:33719
highcharts-settings-26359110f393fbb0aa6bc3ffc41875fe5db4fc6e893003c0d7288e770583925c.js:3 Uncaught ReferenceError: Dashboard is not defined
at HTMLDocument.<anonymous> (highcharts-settings-26359110f393fbb0aa6bc3ffc41875fe5db4fc6e893003c0d7288e770583925c.js:3)
at u (lib.min-500a1a89656394ee5528d8f981d621eff7f09d649a35d99223d0f6eb23e011f5.js:2)
at Object.fireWith [as resolveWith] (lib.min-500a1a89656394ee5528d8f981d621eff7f09d649a35d99223d0f6eb23e011f5.js:2)
at Function.ready (lib.min-500a1a89656394ee5528d8f981d621eff7f09d649a35d99223d0f6eb23e011f5.js:2)
at HTMLDocument.s (lib.min-500a1a89656394ee5528d8f981d621eff7f09d649a35d99223d0f6eb23e011f5.js:1)
clients:3096 Uncaught TypeError: $(...).DataTable is not a function
at clients:3096
at HTMLDocument.<anonymous> (application-7bd22507ed6202d2c9cdc970588f95759f6c5c6eaa7703cae22cbf0a7af22c5a.js:31315)
at HTMLDocument.dispatch (application-7bd22507ed6202d2c9cdc970588f95759f6c5c6eaa7703cae22cbf0a7af22c5a.js:5227)
at HTMLDocument.elemData.handle (application-7bd22507ed6202d2c9cdc970588f95759f6c5c6eaa7703cae22cbf0a7af22c5a.js:4879)
at Object.trigger (application-7bd22507ed6202d2c9cdc970588f95759f6c5c6eaa7703cae22cbf0a7af22c5a.js:5131)
at HTMLDocument.<anonymous> (application-7bd22507ed6202d2c9cdc970588f95759f6c5c6eaa7703cae22cbf0a7af22c5a.js:5861)
at Function.each (application-7bd22507ed6202d2c9cdc970588f95759f6c5c6eaa7703cae22cbf0a7af22c5a.js:371)
at jQuery.fn.init.each (application-7bd22507ed6202d2c9cdc970588f95759f6c5c6eaa7703cae22cbf0a7af22c5a.js:138)
at jQuery.fn.init.trigger (application-7bd22507ed6202d2c9cdc970588f95759f6c5c6eaa7703cae22cbf0a7af22c5a.js:5860)
at HTMLDocument.onLoad (application-7bd22507ed6202d2c9cdc970588f95759f6c5c6eaa7703cae22cbf0a7af22c5a.js:31320)
Uncaught TypeError:无法读取未定义的属性“defaults”
在应用程序-7BD2507ED6202C9CDC970588F95759F6C5C6EAA7703CAE22CBF0A7AF22C5A中。js:33719
在应用程序-7BD2507ED6202C9CDC970588F95759F6C5C6EAA7703CAE22CBF0A7AF22C5A中。js:33719
在应用程序-7BD2507ED6202C9CDC970588F95759F6C5C6EAA7703CAE22CBF0A7AF22C5A中。js:33719
highcharts-settings-26359110f393fbb0aa6bc3ffc41875fe5db4fc6e893003c0d7288e770583925c.js:3未捕获引用错误:未定义仪表板
在HTMLDocument。我的猜测是,您没有在JS文件中捕获TurboLink事件。就像您需要使用jQuery的$(document).ready()
一样,所有的JS代码都应该在触发turbolinks:load
事件之后执行。例如:
$(document).on "turbolinks:load", ->
MyApp.init()
您的资产文件夹结构是什么?我更新了资产文件夹层次结构的屏幕截图。我认为应该添加/=require js/jquery.dataTables.min
,它应该是/=require vendor/js/jquery.dataTables.min
并将vendor文件夹放在Javascript文件夹中。你们能试试吗?供应商不仅提供javascript,还提供css和字体。想要我用一个只有js文件的javascripts/vendor文件夹进行测试吗?是的。你能试试吗?似乎找不到javascript中的hight图表和数据表。不确定这是如何工作的。你能告诉我更多的细节吗?(我更新了问题中的application.js,就像我现在使用的一样)
Uncaught TypeError: Cannot read property 'defaults' of undefined
at application-7bd22507ed6202d2c9cdc970588f95759f6c5c6eaa7703cae22cbf0a7af22c5a.js:33719
at application-7bd22507ed6202d2c9cdc970588f95759f6c5c6eaa7703cae22cbf0a7af22c5a.js:33719
at application-7bd22507ed6202d2c9cdc970588f95759f6c5c6eaa7703cae22cbf0a7af22c5a.js:33719
highcharts-settings-26359110f393fbb0aa6bc3ffc41875fe5db4fc6e893003c0d7288e770583925c.js:3 Uncaught ReferenceError: Dashboard is not defined
at HTMLDocument.<anonymous> (highcharts-settings-26359110f393fbb0aa6bc3ffc41875fe5db4fc6e893003c0d7288e770583925c.js:3)
at u (lib.min-500a1a89656394ee5528d8f981d621eff7f09d649a35d99223d0f6eb23e011f5.js:2)
at Object.fireWith [as resolveWith] (lib.min-500a1a89656394ee5528d8f981d621eff7f09d649a35d99223d0f6eb23e011f5.js:2)
at Function.ready (lib.min-500a1a89656394ee5528d8f981d621eff7f09d649a35d99223d0f6eb23e011f5.js:2)
at HTMLDocument.s (lib.min-500a1a89656394ee5528d8f981d621eff7f09d649a35d99223d0f6eb23e011f5.js:1)
clients:3096 Uncaught TypeError: $(...).DataTable is not a function
at clients:3096
at HTMLDocument.<anonymous> (application-7bd22507ed6202d2c9cdc970588f95759f6c5c6eaa7703cae22cbf0a7af22c5a.js:31315)
at HTMLDocument.dispatch (application-7bd22507ed6202d2c9cdc970588f95759f6c5c6eaa7703cae22cbf0a7af22c5a.js:5227)
at HTMLDocument.elemData.handle (application-7bd22507ed6202d2c9cdc970588f95759f6c5c6eaa7703cae22cbf0a7af22c5a.js:4879)
at Object.trigger (application-7bd22507ed6202d2c9cdc970588f95759f6c5c6eaa7703cae22cbf0a7af22c5a.js:5131)
at HTMLDocument.<anonymous> (application-7bd22507ed6202d2c9cdc970588f95759f6c5c6eaa7703cae22cbf0a7af22c5a.js:5861)
at Function.each (application-7bd22507ed6202d2c9cdc970588f95759f6c5c6eaa7703cae22cbf0a7af22c5a.js:371)
at jQuery.fn.init.each (application-7bd22507ed6202d2c9cdc970588f95759f6c5c6eaa7703cae22cbf0a7af22c5a.js:138)
at jQuery.fn.init.trigger (application-7bd22507ed6202d2c9cdc970588f95759f6c5c6eaa7703cae22cbf0a7af22c5a.js:5860)
at HTMLDocument.onLoad (application-7bd22507ed6202d2c9cdc970588f95759f6c5c6eaa7703cae22cbf0a7af22c5a.js:31320)
$(document).on "turbolinks:load", ->
MyApp.init()