【问题标题】:The asset "application.js" is not present in the asset pipeline in Rails 6Rails 6 的资产管道中不存在资产“application.js”
【发布时间】:2019-09-18 15:23:03
【问题描述】:

我正在创建一个 RoR-6 应用程序,我从 application.html.erb 文件的这一行中得到以下错误:

javascript_include_tag 'application', 'data-turbolinks-track': 'reload'

我收到以下错误:

ActionView::Template::Error: The asset "application.js" is not present in the asset pipeline.

应用是通过运行rails new myapp -d postgres创建的

我正在使用 rails 6.0.0.rc1

【问题讨论】:

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


    【解决方案1】:

    将此行放在application.html.erb

    <%= javascript_pack_tag 'application' %>
    

    这对我有用。

    【讨论】:

      【解决方案2】:

      如果你想使用Webpack,请将以下内容添加到config/initializers/assets.rb

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

      【讨论】:

        【解决方案3】:

        您需要使用javascript_pack_tag 而不是javascript_include_tag

        javascript_pack_tag 'application', 'data-turbolinks-track': 'reload'
        

        这是必需的,因为 webpacker 在 Rails 6 中处理 javascript 编译。

        【讨论】:

        • 谢谢。这解决了问题。感谢您的快速回复。
        • 值得注意的是,说 webpacker 在 Rails 6.0.0 中处理资产编译是不正确的 - webpacker 默认只处理 javascript 编译。 Rails Asset Pipeline 和 Sprockets 仍然用于 CSS、图像和其他资产类型。
        • 在生产和使用 javascript_pack_tag 时遇到同样的问题,知道为什么吗?
        猜你喜欢
        • 2017-12-27
        • 1970-01-01
        • 1970-01-01
        • 2016-06-25
        • 2018-09-01
        • 2023-03-26
        • 1970-01-01
        • 1970-01-01
        • 2021-09-11
        相关资源
        最近更新 更多