我正在尝试设置暂存环境。
我复制了环境/ 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)))
你知道在哪里看吗?还有什么能够将登台环境与生产环境区分开来?
答案 0 :(得分:3)
所以,我忘记了'rails_12factor'宝石的作用。
我将我的Gemfile更新为
gem 'rails_12factor', group: [:staging, :production]
现在一切正常。