【发布时间】:2016-03-24 11:34:47
【问题描述】:
由于我更新了几个 gem,所有测试都因错误而失败:
ActionView::Template::Error: 资源未被声明为预编译 正在生产中。
将
Rails.application.config.assets.precompile += %w( favicons/manifest.json.erb )添加到config/initializers/assets.rb并重新启动您的服务器app/views/layouts/_faviconsheader.html.erb:14:in
_app_views_layouts__faviconsheader_html_erb__1320app/views/layouts/application.html.erb:21:in
_app_views_layouts_application_html_erb__4340
错误似乎是指包含以下行的部分_faviconsheader.html.erb:
<%= content_tag :link, nil, rel: :manifest, href: image_path("favicons/manifest.json.erb") %>
这个部分被加载到application.html.erb:<%= render partial: 'layouts/faviconsheader' %>。
知道是什么导致了这个错误,该怎么办? 在 gem 更新之前,所有测试都通过了。
我使用 Rails 4.2.5。更新的 gem 之一是 sprockets(将 sprockets 更新到版本 3.5.2)。我在github 上读到一些关于 sprockets 4 有问题的内容,但我没有使用版本 4。
附:即使我将Rails.application.config.assets.precompile += %w( favicons/manifest.json.erb ) 添加到config/initializers/assets.rb,错误仍然存在。但即使这样可行,我也想了解为什么会出现这个问题,除了更新一些 gem 之外没有任何更改。
【问题讨论】:
标签: ruby-on-rails ruby asset-pipeline sprockets