代码之家  ›  专栏  ›  技术社区  ›  Mirror318

Heroku无法找到默认管道之外的资产

  •  0
  • Mirror318  · 技术社区  · 6 年前

    在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')
    

    我遇到如下错误:

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

    有人能帮我解释一下为什么heroku找不到我本地机器能找到的东西吗?

    0 回复  |  直到 6 年前
        1
  •  0
  •   Mirror318    6 年前

    Heroku需要文件扩展名才能识别资产路径。

    = image_tag('reports_2019/zurich_02_pizza.png')
    

    = image_tag('reports_2019/zurich_02_pizza.jpg')