【发布时间】: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