Rails没有加载我的图像'生产模式中的资产

时间:2015-08-26 13:21:48

标签: ruby-on-rails elastic-beanstalk

我在Elastic Beanstalk的生产中遇到了我的Rails应用程序的问题。 本地的一切都很好,但是当我部署时,我的所有照片都找不到(404)。我将所有图像放在app / assets / images中。

我尝试更改config / environments / production.rb中的config.serve_static_files,但是true或false都不起作用。

我正在使用带有Passenger的ruby堆栈。单个实例。

平台:运行Ruby 2.2(乘客独立)的64位Amazon Linux 2015.03 v2.0.0

感谢您的帮助!

朱利安

1 个答案:

答案 0 :(得分:1)

前几天,我遇到了几乎相同的问题。我在CSS中引用了.jpg文件作为背景图片,但它却给了我404。

  background-image: url('background2.jpg'); //worked locally but not on AWS EB

在开发人员终端中检查代码时,我注意到实际上是在请求“ /assets/background2.jpg”,但我认为,当Rails在资产文件夹中提供图片时,通常会在文件后用长字符串重命名它们名称(例如“ / assets / background2-b438af190a4 ......... jpg”)

就我而言,使用asset_path有所帮助。注意:由于我在CSS中使用了它,因此我不得不将文件扩展名更改为scss。

  background-image: url(asset_path("background2.jpg")); // .scss file