【问题标题】:Unable to deploy Rails app on Heroku due to asset pipeline error由于资产管道错误,无法在 Heroku 上部署 Rails 应用程序
【发布时间】:2020-04-18 18:53:19
【问题描述】:

我有一个简单的 Rails 应用程序,我想在 Heroku 上部署它,以便获得一些用户测试和反馈。但是,我在 Heroku 上部署它时遇到问题,因为我收到一个错误,基本上是说它无法在我的资产管道中找到 image1.jpeg。但是,我是从我的 GitHub 进行部署的,我已经确认它拥有资产管道中的所有图像。

这是 Heorku 上的官方错误日志:

2020-04-18T18:44:57.915542+00:00 heroku[router]: at=info method=GET path="/" host=finalproj493.herokuapp.com request_id=2533d3cb-5dee-4052-bb56-98b4f7fd65dc fwd="99.28.183.27" dyno=web.1 connect=0ms service=8ms status=500 bytes=1827 protocol=https
2020-04-18T18:44:57.910183+00:00 app[web.1]: I, [2020-04-18T18:44:57.910093 #4]  INFO -- : [2533d3cb-5dee-4052-bb56-98b4f7fd65dc] Started GET "/" for 99.28.183.27 at 2020-04-18 18:44:57 +0000
2020-04-18T18:44:57.910888+00:00 app[web.1]: I, [2020-04-18T18:44:57.910825 #4]  INFO -- : [2533d3cb-5dee-4052-bb56-98b4f7fd65dc] Processing by WelcomeController#index as HTML
2020-04-18T18:44:57.912171+00:00 app[web.1]: I, [2020-04-18T18:44:57.912112 #4]  INFO -- : [2533d3cb-5dee-4052-bb56-98b4f7fd65dc]   Rendering welcome/index.html.erb within layouts/application
2020-04-18T18:44:57.912529+00:00 app[web.1]: I, [2020-04-18T18:44:57.912475 #4]  INFO -- : [2533d3cb-5dee-4052-bb56-98b4f7fd65dc]   Rendered welcome/index.html.erb within layouts/application (Duration: 0.3ms | Allocations: 120)
2020-04-18T18:44:57.912717+00:00 app[web.1]: I, [2020-04-18T18:44:57.912663 #4]  INFO -- : [2533d3cb-5dee-4052-bb56-98b4f7fd65dc] Completed 500 Internal Server Error in 2ms (Allocations: 424)
2020-04-18T18:44:57.914850+00:00 app[web.1]: F, [2020-04-18T18:44:57.914793 #4] FATAL -- : [2533d3cb-5dee-4052-bb56-98b4f7fd65dc]   
2020-04-18T18:44:57.914851+00:00 app[web.1]: [2533d3cb-5dee-4052-bb56-98b4f7fd65dc] ActionView::Template::Error (The asset "image1.jpeg" is not present in the asset pipeline.):
2020-04-18T18:44:57.914852+00:00 app[web.1]: [2533d3cb-5dee-4052-bb56-98b4f7fd65dc]     14:     <br>
2020-04-18T18:44:57.914852+00:00 app[web.1]: [2533d3cb-5dee-4052-bb56-98b4f7fd65dc]     15: 
2020-04-18T18:44:57.914852+00:00 app[web.1]: [2533d3cb-5dee-4052-bb56-98b4f7fd65dc]     16:     <div>
2020-04-18T18:44:57.914853+00:00 app[web.1]: [2533d3cb-5dee-4052-bb56-98b4f7fd65dc]     17:         <%= image_tag(ActionController::Base.helpers.asset_path("image1.jpeg"), :size =>"350x500") %>
2020-04-18T18:44:57.914853+00:00 app[web.1]: [2533d3cb-5dee-4052-bb56-98b4f7fd65dc]     18:     </div>
2020-04-18T18:44:57.914854+00:00 app[web.1]: [2533d3cb-5dee-4052-bb56-98b4f7fd65dc]     19: 
2020-04-18T18:44:57.914854+00:00 app[web.1]: [2533d3cb-5dee-4052-bb56-98b4f7fd65dc]     20:     <br>
2020-04-18T18:44:57.914854+00:00 app[web.1]: [2533d3cb-5dee-4052-bb56-98b4f7fd65dc]   
2020-04-18T18:44:57.914855+00:00 app[web.1]: [2533d3cb-5dee-4052-bb56-98b4f7fd65dc] app/views/welcome/index.html.erb:17

我可以让它在本地运行得很好,但我无法在 Heroku 上运行它。每当我尝试访问项目的 Heroku 网址时,它都会显示“我们很抱歉,但出了点问题”。

我尝试了以下方法: Running heroku db:rake and db:migrate.

【问题讨论】:

  • 你为什么用ActionController::Base.helpers.asset_path("image1.jpeg")而不是image_path('image1.jpeg')?任何原因?您不需要使用config.assets.compile = true

标签: ruby-on-rails heroku


【解决方案1】:

其实我找到了答案!是单行的,一定要去production.rb改成:

  config.assets.compile = true

【讨论】:

    猜你喜欢
    • 2018-01-04
    • 2011-12-25
    • 2015-09-10
    • 1970-01-01
    • 2020-05-15
    • 2016-06-23
    • 1970-01-01
    • 2013-03-26
    • 1970-01-01
    相关资源
    最近更新 更多