繁体   English   中英

Rails - image.png 未预编译

[英]Rails - image.png Isn't Precompiled

我正在尝试在 Amazon 的 EC2 服务器上部署一个 Web 应用程序,并且我在服务器上安装了代码。 一切看起来都在工作,但是当我进入主页时,我收到一条 500 错误消息,并且production.log文件给了我以下错误:

ActionView::Template::Error (image.png isn't precompiled)
  • 我试过运行rake assets:precompile

  • 我已将config/environments/production.rb的行更改为config.assets.compile = true

  • 我检查过编译后的image.pngpublic/assets/manifest.yml

但我仍然遇到同样的错误。

我正在运行 Rails 3.2.6 和 Ruby 1.8.7。

谢谢你的帮助!

运行rake assets:precompile RAILS_ENV=production应该可以修复它。 如果您不提供任何RAILS_ENV ,Rails 假定它是development

我相信这是因为资产管道中的每个环境的行为都不同。 因此,作为一般规则,在生产中,始终使用 RAILS_ENV='production' 运行 rake 任务,并且您应该保持安全。

我正在使用 Redhat 的 Openshift,当部署在服务器上时,它会自动进入生产环境。 我也有同样的问题,但只在生产服务器上。

执行更改:

config/environments/production.rb 到 config.assets.compile = true

辛苦了。 此文件中还有另一个参数可以更改:

config.assets.precompile += %w[ *.png *.jpeg *.jpg *.gif ]

在服务器上部署后,您可以手动执行以下操作:

耙 RAILS_ENV=生产

或者,如果您使用像 Openshift 这样自动部署的服务器,则将考虑 production.rb 文件中的配置。

config/application.rb添加如下一行:

config.assets.precompile += ['image.png']

虽然,如果它在public/assets/images你不应该这样做。

已解决 - 需要运行rake assets:precompile RAILS_ENV='production而不仅仅是rake assets:precompile ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM