我有一个Rails 5.2.4.3的应用,直到昨天早上才运行良好。我做了一个小的文本更改,并试图在没有测试的情况下将更改上传到Heroku。不要这样做。资产没有编译。当我执行this is localhost时,我得到了以下错误。
ActionView::Template::Error (Can't resolve image into URL: undefined method `+' for nil:NilClass):
2: <p class="text-center text-cat"><%= "#{t :home01}" %><br><%= "#{t :home02}#{t :space}:" %></p>
3: <div class="row">
4: <div class="col-12 col-sm-8 offset-sm-2 col-md-6 offset-md-3 col-lg-6 offset-lg-3 col-xl-6 offset-xl-3" align="center">
5: <p class="py-2"><%= link_to image_tag("youtubevideo.jpg", class: "img-fluid", alt: "#{t :about_us}"), "https://www.youtube.com/watch?v=PrAcKje2MS0", target: "_blank" %></p>
6: </div>
7: </div>
8: <p class="text-center text-cat"><%= "#{t :home03} #{t :home04}" %></p>
app/views/pages/home.html.erb:5:in `_app_views_pages_home_html_erb__2887808543043751872_20140'
Started GET "/" for ::1 at 2020-06-05 11:05:33 -0500
Processing by PagesController#home as HTML
Rendering pages/home.html.erb within layouts/application
Rendered pages/home.html.erb within layouts/application (5055.4ms)
Completed 500 Internal Server Error in 5208ms (ActiveRecord: 0.0ms)
我没有找到太多关于这个错误的信息,其中不包括我在我的应用程序中没有使用的宝石或使用早期版本的Rails。这是唯一的 一个 我找到了,但解决方法没有用。这是我预编译资产时得到的错误。
rails aborted!
NoMethodError: undefined method `+' for nil:NilClass
我想我会重新命名这个视图上的图像,然后尝试运行我的应用程序。我在我的样式表上得到了同样的错误。
ActionView::Template::Error (undefined method `+' for nil:NilClass):
15: <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
16: <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">
17: <meta name="wot-verification" content="3402293318de5ef4db02"/>
18: <%= stylesheet_link_tag "application", media: "all" %>
19: <%= csrf_meta_tags %>
20: <%= favicon_link_tag "/favicon.ico" %>
21: <%= render 'layouts/shim' %>
app/views/layouts/application.html.erb:18:in `_app_views_layouts_application_html_erb___3180930056003916447_19580'
我在做修改之前,从备份中替换了我的assets文件夹和视图,但我仍然得到这个错误。
我查看了我电脑上assets文件夹的安全性,看起来没有问题。
还有什么原因会导致这个错误?
我重新命名了我的所有图像,并在其他资产文件夹中从头开始重新创建新文件。我的应用程序可以正常工作。
我仍然不知道为什么Rails会时不时地停止找不到assets文件。重命名它通常可以解决这个问题。这是我的assets文件夹中的每个文件第一次出现这种情况。