【问题标题】:Javascript doesn't work unless I include it directly in the view除非我将其直接包含在视图中,否则 Javascript 不起作用
【发布时间】:2016-06-10 17:44:05
【问题描述】:

所以我尝试在我的 ruby​​ on rails 项目中使用一些 jquery 插件。但是,除非我通过 cdn 导入它们或将代码直接放入视图中,否则它们都不起作用。我不确定为什么会这样。

这是我的 application.js

//= require bootstrap-sprockets
//= require bootstrap
//= require bootstrap.js
//= require jquery
//= require jquery_ujs
//= require_tree .
//= require jquery.bootstrap-autohidingnavbar.js
//= require jquery.scrolline.js

我尝试只使用 'require_tree 。" 但那不起作用。所以,我尝试专门包含我需要的插件。但这仍然不起作用。唯一有效的是直接编写代码在我的视图文件中,然后我调用它。

【问题讨论】:

  • 究竟哪一个没用?
  • 不起作用是什么意思?你有错误吗?你的视图中看不到 js 吗?您的布局是否包含 application.js 的 javascript 标记?
  • Bootstrap 依赖于 jquery,所以先包含 jquery,然后再包含其余的东西。你提到的小插件也是如此。
  • 不工作,我的意思是当我调用 javascript 并尝试利用它的功能时,它就是不工作。没有什么变化。但只要我在视图中包含代码,它就可以正常工作
  • 您在 javascript 控制台中看到任何错误吗?

标签: javascript jquery ruby-on-rails ruby


【解决方案1】:

所以我猜是问题出在哪里,您已将 jquery 从 cdn 添加到您的applicatoin.html.erb。在您完成包含清单文件的javascript_include_tag 之后,您就完成了。

您必须先包含 javascript,然后再包含 application.js 文件。如果你是通过 cdn 来做的,你可以从你的 application.js 文件中去掉//= require jquery

如果它解决了问题,请告诉我。

【讨论】:

    猜你喜欢
    • 2017-08-23
    • 1970-01-01
    • 2013-11-30
    • 2013-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多