Heroku在上传资产时忽略RACK_ENV =暂存

时间:2013-09-02 20:29:37

标签: ruby-on-rails ruby heroku amazon-s3 asset-pipeline

我为生产和登台环境设置了2个heroku应用程序。 我使用亚马逊S3来存储资产。 在进行生产部署时,资产会被编译并存储在正确的存储桶中。 但是,在部署到暂存时,资产会上载到生产存储桶。 这些是登台应用程序的heroku配置变量:

RACK_ENV:                     staging
RAILS_ENV:                    staging
S3_BUCKET:                    xxx-staging
S3_HOST:                      https://xxx-staging.s3.amazonaws.com
S3_KEY:                       xxx
S3_REGION:                    eu-west-1
S3_SECRET:                    xxx

在登台应用程序中,样式表网址看起来正确

<link href="https://xxx-staging.s3.amazonaws.com/assets/application-cfddf5f3b9e77c69b3ab4072cc38a7e6.css" media="screen" rel="stylesheet" type="text/css" />

但是这个桶是空的

staging.rb
config.assets.enabled = true
ENV['S3_BUCKET']='xxx-staging'
...

知道我缺少什么配置吗?

2 个答案:

答案 0 :(得分:3)

Heroku上的user-env-compile实验室功能怎么样?

heroku labs:enable user-env-compile -a myapp

答案 1 :(得分:0)

那很有效!!! 我已经做了     heroku labs:启用user-env-compile -a my-app-staging 之后     git push staging staging:master 并且资产现在上传到右侧存储桶(xxx-staging)

谢谢Chris