资产未在生产轨道中呈现

时间:2016-10-24 15:00:16

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4 rails-api

我已预先编译了生产中的资产,但应用程序无法加载资产。我的应用程序部署在AWS EC2上

enter image description here

我在public / assets文件夹中检查了application.css是否存在。 enter image description here  但它仍然说404错误。

我的production.rb配置是

enter image description here

我的nginx.conf设置为:enter image description here

4 个答案:

答案 0 :(得分:0)

404基于配置中的该行:config.serve_static_files = true。这可能是错误的名称,具体取决于您的rails版本。我相信该设置在版本5之前的Rails中被命名为config.serve_static_assets

如果您没有服务器(nginx / etc),那么您希望该设置为true。否则,您需要将服务器重新配置为指向/ public目录,并确保rake assets:precompile成功运行。

答案 1 :(得分:0)

我遇到了同样的问题

设置config.assets.compile = True

它对我有用。

答案 2 :(得分:0)

问题是我在根路径的nginx中的配置是错误的。所以资产并没有指向错误的道路。

我改变了nginx.conf:

来自root /home/deploy/appname/public

root /home/deploy/appname/current/public

AND在production.rb

config.serve_static_assets = trueconfig.serve_static_assets = false

答案 3 :(得分:0)

我和你一样:

root /home/deploy/appname/public root  => /home/deploy/appname/current/public

这对我有用。由于我离开 config / production.rb 文件的独特区别如下:

config.public_file_server.enabled = true

config.assets.compile = true

我使用Rails 5。