【问题标题】:Heroku can't find assets outside of the default pipelineHeroku 在默认管道之外找不到资产
【发布时间】:2019-10-29 20:20:26
【问题描述】:

在 Rails 中,资产的典型管道是:

images/*
javascripts/*
stylesheets/*

我想添加这个文件夹:

images/reports_2019/*

两种在本地工作但在 Heroku 上不工作的方式

在本地,我可以像这样访问资产:

  = image_tag('reports_2019/zurich_02_pizza')

或者我可以将其添加到assets.rb 文件中:

Dir.glob("#{Rails.root}/app/assets/images/**/").each do |path|
  Rails.application.config.assets.paths << path
end

然后像平常一样访问资产:

  = image_tag('zurich_02_pizza')

但是这些方法在 Heroku 上不起作用 :(

我收到这样的错误:

ActionView::Template::Error (The asset "reports_2019/zurich_02_pizza" is not present in the asset pipeline.):

谁能帮帮我,解释一下为什么 heroku 找不到我的本地机器可以找到的东西?

【问题讨论】:

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


    【解决方案1】:

    您需要 Heroku 的文件扩展名来识别资产路径。

    = image_tag('reports_2019/zurich_02_pizza.png')
    

    = image_tag('reports_2019/zurich_02_pizza.jpg')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-19
      • 2019-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多