【问题标题】:The asset "application.js" is not present in the asset pipeline资产管道中不存在资产“application.js”
【发布时间】:2017-12-27 11:53:06
【问题描述】:

我是 RubyROR 框架的新手。我尝试使用 JQuery 创建 Web 应用程序。我的步骤是:

  1. 添加 gem 'jquery-rails' 并从命令行执行 bundle install 命令
  2. 字符串 //= require jquery2 添加到 application.js 文件中
  3. 现在我尝试将文件包含到页面中。我将字符串 <%= javascript_include_tag "application" %> 添加到 application.html.erb 文件

当我尝试在浏览器中查看页面时,我看到错误消息:

Sprockets::Rails::Helper::AssetNotFound in LandingPage#index
The asset "application.js" is not present in the asset pipeline.
<%= javascript_include_tag "application" %>

我做错了什么?我用谷歌搜索了这个错误,但没有找到任何好的解释。

【问题讨论】:

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


    【解决方案1】:

    我也在使用 application.html.erb 文件中的语法 javascript_include_tag 使用 Rails 6(带有 webpack)时遇到了这个错误。

    使用 rails 6 和 webpack:

    <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
    

    【讨论】:

    • 我也在使用 Rails 6,但仍然无法加载 javascript。您的 application.js 文件在您的目录中的什么位置?我的在:app/javascript/packs/application.js
    • 我的application.js和你的在同一个目录
    • 您可能需要添加从 Rails5 应用程序复制的 application.js 并复制到与 Rails5 应用程序相同的位置。
    • 两个小时后,这才有了帮助。也许这应该被标记为解决方案?谢谢顺便说一句
    • 有时您可能需要同时使用资产管道和 Webpacker。为此,您首先使用 javascript_pack_tag,然后使用 javascript_include_tag 2nd(我指的是“application.js”)。不幸的是,webpacker 不适用于咖啡脚本文件。我无法让 webpacker 的内置咖啡脚本功能工作,所以我同时使用了 webpacker 和资产管道,我的旧应用程序现在可以工作了。我确实尝试了来自“l-plan.nl/articles/articles/coffeescript-and-webpacker”的 webpacker:install:coffee,但它导致依赖错误并且不会推送到 Heroku。
    【解决方案2】:

    首先尝试重启你的服务器,一般不需要在assets中包含application.js文件。如果它不起作用,那么

    在您的 config / initializer / assets.rb 文件中添加以下内容:

    Rails.application.config.assets.precompile += %w(application.js)
    

    注意:添加资产文件后,不要忘记重新启动服务器。如果你在 Inilalizers 中做任何更改,你必须重新启动服务器才能看到效果。

    【讨论】:

    • 嗨。谢谢你的解释。我从 head 部分删除了 并将 Rails.application.config.assets.precompile += %w(application.js) 添加到 assets.rb现在我看到页面上没有加载 JQuery。
    • @Alex : 您不需要从应用程序布局中删除 &lt;%= javascript_include_tag 'application', 'data-turbolinks-track': true %&gt;
    • 但在这种情况下,我得到了同样的错误:资产“application.js”不在资产管道中。
    • 你重启服务器了吗?
    • 是的。这是我的错。服务器未重新启动。重启后一切正常。问题解决了!非常感谢您的帮助! :)
    猜你喜欢
    • 2019-09-18
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 2021-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多