【问题标题】:Ruby on Rails: Asset pipeline failing for only some of my assets (javascripts)Ruby on Rails:资产管道仅对我的一些资产(javascripts)失败
【发布时间】:2015-02-20 23:51:46
【问题描述】:

在我的 application.js 中有

//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require s3_direct_upload
//= require_tree .

我在其他 application.js 的 javascript 文件夹中也有 4 个 javascript 文件。 它们是:users.js、access.js、documents.js 和bands.js。

我在documents.js 中编写了一些javascript 代码,它运行良好。然后我尝试在bands.js 中编写代码,但什么也没发生,就好像javascript 文件甚至没有加载一样。然后我决定做一个简单的测试并写了一个 alert("Hello");消息在我的每个 javascripts 的顶部,事实证明警报消息仅针对documents.js 和users.js 弹出,而不针对其他任何人(即,当我访问相应视图的索引页面时) .似乎有点随机。我尝试重新启动服务器几次,但没有任何改变。这对我来说似乎很奇怪。我想不出任何可以提供有用的代码,但是如果您想查看某些代码,请告诉我。如何使我的 javascript 在它们应该适用的所有页面上响应?请帮忙!!

【问题讨论】:

  • 使用您的浏览器并检查波段视图,它实际上是否有 JavaScript 文件的包含标记?它可能只是没有被调用而不是没有被编译。
  • 或者检查你的布局,它可能在app/views/layouts/application.html

标签: javascript ruby-on-rails asset-pipeline


【解决方案1】:

我会删除 require_tree . 并单独要求每个 js 文件

//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require s3_direct_upload
//= require //= require jquery
//= require jquery_ujs
//= require turbolinks
//= require s3_direct_upload
//= require user
//= require access
//= require documents

这样你就知道包含了什么,这对你有用,因为你没有很多 js 文件。

然后转到您的浏览器控制台并展开 <head> 元素并确保包含您需要的 js 文件,点击搜索并搜索您的文件名。

【讨论】:

    猜你喜欢
    • 2018-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-02
    • 2012-02-17
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多