Ruby on Rails,图像编译和预编译

时间:2014-11-30 09:15:12

标签: ruby-on-rails

我刚刚部署了一个rails应用程序,当我加载页面时出现错误:

We're sorry, but something went wrong.

在production.log中,我看到了这样的信息:

Started GET "/" for 128.179.252.130 at 2014-11-30 08:32:28 +0000
Processing by StaticPagesController#home as HTML
  Rendered static_pages/home.html.erb within layouts/application (0.4ms)
  Rendered layouts/_shim.html.erb (0.0ms)
  Rendered layouts/_header.html.erb (2.4ms)
Completed 500 Internal Server Error in 4ms

ActionView::Template::Error (./icons/icon_nameplate.png isn't precompiled):
37:<ul class="dropdown-menu">
38:
39:<li>
40:    <%= menu_dropdown('Profile', "./icons/icon_nameplate.png", "Nameplate Icon", current_user) %>
41:</li>

所以我认为错误来自消息的这一部分:

./icons/icon_nameplate.png isn't precompiled

我搜索了互联网,找到了三种可能的解决方案,其中没有一种方法可行:

1. config.assets.compile = true (in production.rb file)
2. config.assets.precompile += %w[*.png *.jpg *.jpeg *.gif] (still in production.rb file)
3. bundle exec rake assets:precompile RAILS_ENV=production

所有这一切都没有改变,网站仍然显示相同的错误。所以我转向你帮忙。

非常感谢你。

1 个答案:

答案 0 :(得分:0)

最终我的诀窍是完全重启rails应用程序。这将在下面的链接中描述。

推荐版本为我做了诀窍:

在服务器上的Rails应用程序的tmp文件夹中创建(或更新)名为 restart.txt 的文件。

之后没问题。

干杯