【问题标题】:Can not deploy my rails app to heroku after getting asset not present in asset pipeline error在资产管道错误中获取资产后无法将我的 Rails 应用程序部署到 Heroku
【发布时间】:2018-01-04 02:54:56
【问题描述】:

我的应用程序在我的本地主机上运行良好,但现在正尝试将其部署到 heroku 并显示:

We're sorry, but something went wrong.
If you are the application owner check the logs for more information.

日志文件:

2017-07-28T06:32:05.150511+00:00 app[web.1]: F, [2017-07-28T06:32:05.150434 #4] FATAL -- : [333bb637-4f97-41fa-8b90-60452df2b4fd]   
2017-07-28T06:32:05.150586+00:00 app[web.1]: F, [2017-07-28T06:32:05.150519 #4] FATAL -- : [333bb637-4f97-41fa-8b90-60452df2b4fd] ActionView::Template::Error (The asset "landingherodrink.jpeg" is not present in the asset pipeline.):
2017-07-28T06:32:05.150803+00:00 app[web.1]: F, [2017-07-28T06:32:05.150736 #4] FATAL -- : [333bb637-4f97-41fa-8b90-60452df2b4fd]     10:                 </div>
2017-07-28T06:32:05.150806+00:00 app[web.1]: [333bb637-4f97-41fa-8b90-60452df2b4fd]     11:         </div>
2017-07-28T06:32:05.150806+00:00 app[web.1]: [333bb637-4f97-41fa-8b90-60452df2b4fd]     12:         <div id="landingherodrink">
2017-07-28T06:32:05.150808+00:00 app[web.1]: [333bb637-4f97-41fa-8b90-60452df2b4fd]     13:                 <%= image_tag("landingherodrink.jpeg") %>
2017-07-28T06:32:05.150808+00:00 app[web.1]: [333bb637-4f97-41fa-8b90-60452df2b4fd]     14:         </div>
2017-07-28T06:32:05.150809+00:00 app[web.1]: [333bb637-4f97-41fa-8b90-60452df2b4fd]     15:         <%= render 'footermenu/footermenu' %>      
2017-07-28T06:32:05.150809+00:00 app[web.1]: [333bb637-4f97-41fa-8b90-60452df2b4fd]     16: </body>
2017-07-28T06:32:05.150867+00:00 app[web.1]: F, [2017-07-28T06:32:05.150807 #4] FATAL -- : [333bb637-4f97-41fa-8b90-60452df2b4fd]   
2017-07-28T06:32:05.150971+00:00 app[web.1]: F, [2017-07-28T06:32:05.150889 #4] FATAL -- : [333bb637-4f97-41fa-8b90-60452df2b4fd] app/views/landingpage/index.html.erb:13:in `_app_views_landingpage_index_html_erb__2117924159609624554_32934860'
2017-07-28T06:43:04.237065+00:00 heroku[router]: at=info method=GET path="/" host=thawing-cliffs-75380.herokuapp.com request_id=d535ef51-8a33-41dc-b820-50e9a43ca635 fwd="207.38.188.8" dyno=web.1 connect=0ms service=6ms status=500 bytes=1827 protocol=https
2017-07-28T06:43:04.231745+00:00 app[web.1]: I, [2017-07-28T06:43:04.231639 #4]  INFO -- : [d535ef51-8a33-41dc-b820-50e9a43ca635] Started GET "/" for 207.38.188.8 at 2017-07-28 06:43:04 +0000
2017-07-28T06:43:04.232703+00:00 app[web.1]: I, [2017-07-28T06:43:04.232613 #4]  INFO -- : [d535ef51-8a33-41dc-b820-50e9a43ca635] Processing by LandingpageController#index as HTML
2017-07-28T06:43:04.233549+00:00 app[web.1]: I, [2017-07-28T06:43:04.233492 #4]  INFO -- : [d535ef51-8a33-41dc-b820-50e9a43ca635]   Rendering landingpage/index.html.erb within layouts/application
2017-07-28T06:43:04.234214+00:00 app[web.1]: I, [2017-07-28T06:43:04.234157 #4]  INFO -- : [d535ef51-8a33-41dc-b820-50e9a43ca635]   Rendered navmain/_navmain.html.erb (0.4ms)
2017-07-28T06:43:04.235218+00:00 app[web.1]: I, [2017-07-28T06:43:04.235161 #4]  INFO -- : [d535ef51-8a33-41dc-b820-50e9a43ca635]   Rendered landingpage/index.html.erb within layouts/application (1.6ms)
2017-07-28T06:43:04.235358+00:00 app[web.1]: I, [2017-07-28T06:43:04.235306 #4]  INFO -- : [d535ef51-8a33-41dc-b820-50e9a43ca635] Completed 500 Internal Server Error in 3ms
2017-07-28T06:43:04.235988+00:00 app[web.1]: F, [2017-07-28T06:43:04.235934 #4] FATAL -- : [d535ef51-8a33-41dc-b820-50e9a43ca635]   
2017-07-28T06:43:04.236030+00:00 app[web.1]: F, [2017-07-28T06:43:04.235987 #4] FATAL -- : [d535ef51-8a33-41dc-b820-50e9a43ca635] ActionView::Template::Error (The asset "landingherodrink.jpeg" is not present in the asset pipeline.):
2017-07-28T06:43:04.236172+00:00 app[web.1]: F, [2017-07-28T06:43:04.236123 #4] FATAL -- : [d535ef51-8a33-41dc-b820-50e9a43ca635]     10:                 </div>
2017-07-28T06:43:04.236174+00:00 app[web.1]: [d535ef51-8a33-41dc-b820-50e9a43ca635]     11:         </div>
2017-07-28T06:43:04.236174+00:00 app[web.1]: [d535ef51-8a33-41dc-b820-50e9a43ca635]     12:         <div id="landingherodrink">
2017-07-28T06:43:04.236175+00:00 app[web.1]: [d535ef51-8a33-41dc-b820-50e9a43ca635]     13:                 <%= image_tag("landingherodrink.jpeg") %>
2017-07-28T06:43:04.236176+00:00 app[web.1]: [d535ef51-8a33-41dc-b820-50e9a43ca635]     14:         </div>
2017-07-28T06:43:04.236176+00:00 app[web.1]: [d535ef51-8a33-41dc-b820-50e9a43ca635]     15:         <%= render 'footermenu/footermenu' %>      
2017-07-28T06:43:04.236177+00:00 app[web.1]: [d535ef51-8a33-41dc-b820-50e9a43ca635]     16: </body>
2017-07-28T06:43:04.236210+00:00 app[web.1]: F, [2017-07-28T06:43:04.236170 #4] FATAL -- : [d535ef51-8a33-41dc-b820-50e9a43ca635]   
2017-07-28T06:43:04.236253+00:00 app[web.1]: F, [2017-07-28T06:43:04.236214 #4] FATAL -- : [d535ef51-8a33-41dc-b820-50e9a43ca635] app/views/landingpage/index.html.erb:13:in `_app_views_landingpage_index_html_erb__2117924159609624554_32934860'
2017-07-28T06:43:04.335568+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=thawing-cliffs-75380.herokuapp.com request_id=00e2db2c-310c-48a1-88f9-7e3e9e302a4d fwd="207.38.188.8" dyno=web.1 connect=0ms service=1ms status=304 bytes=48 protocol=https

它还显示:

ActionView::Template::Error (The asset "landingherodrink.jpeg" is not present in the asset pipeline.).

这是我的英雄形象,位于assets/images/

【问题讨论】:

  • 您是否配置了您的应用程序来为您的静态资产提供服务?更多信息在这里:devcenter.heroku.com/articles/rails-4-asset-pipeline
  • 你好,我只是通过在我的 config/application.rb 添加config.assets.serve_static_files = true 来做到这一点,但它没有工作,同样的错误。还尝试了rails_serve_static_assets gem 并得到同样的错误。
  • 我添加了一个 gem 文件gem 'rails_12factor', group: :production 并且还更改了英雄图片并且它起作用了。谢谢
  • @craftdeer 在 rails 5 应用程序中不再需要它。 github.com/heroku/rails_12factor#rails-5
  • @MuhammadNasirShamshad 是的,但是对于仍然在使用新的 Rails 应用程序时遇到此问题的任何人,必须在其扩展中引用资产!所以“landingherodrink.jpeg”不仅仅是“landingherodrink”

标签: ruby-on-rails heroku deployment


【解决方案1】:

Rails 5+ 中,确保您已指定文件扩展名。

即:

<%= image_tag 'logo.jpg' %>

代替:

<%= image_tag 'logo' %>

【讨论】:

  • 上面粘贴的错误清楚地表明扩展名存在ActionView::Template::Error (The asset "landingherodrink.jpeg" is not present in the asset pipeline.).我目前有这个问题。试图找出如何解决这个问题。
【解决方案2】:

我有点太晚了,但我遇到了同样的问题,只是通过将我的图像扩展名从 .jpeg 更改为 .jpg 并且当然也在代码中更改它来解决它。

【讨论】:

  • 这对我有用。有人解释一下吗?
  • 完全无缘无故地为我工作。这太愚蠢了,这就是问题所在。甚至在 webpacker 中将 jpg 和 jpeg 设置为资产扩展。
猜你喜欢
  • 1970-01-01
  • 2019-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多