Rails:登台环境中不可用的资产

时间:2014-06-20 17:03:08

标签: ruby-on-rails asset-pipeline puma

我正在尝试设置暂存环境。

我复制了环境/ production.rb以创建环境/ staging.rb。

我在本地测试了暂存环境并运行了

RAILS_ENV=staging rake assets:clean assets:precompile
RAILS_ENV=staging rails s

资产在公共/资产中正确生成,当我加载页面时,资产的链接是正确的(例如:/assets/application-e014056a81279320a97c71ed25eb46ab.css)

但浏览器无法加载它们,如果我尝试打开

http://localhost:3000/assets/application-e014056a81279320a97c71ed25eb46ab.css

我得到了404。

现在奇怪的是它在生产中起作用,具有:

RAILS_ENV=production rake assets:clean assets:precompile
RAILS_ENV=production rails s

对于environment / staging.rb和environments / production.rb,配置为

config.serve_static_assets = false

config.assets.compile = false

config.assets.digest = true

在application.rb

Bundler.require(*Rails.groups(assets: %w(development test)))

你知道在哪里看吗?还有什么能够将登台环境与生产环境区分开来?

1 个答案:

答案 0 :(得分:3)

所以,我忘记了'rails_12factor'宝石的作用。

我将我的Gemfile更新为

gem 'rails_12factor', group: [:staging, :production]

现在一切正常。