2

我认为这将相当简单,但似乎无法弄清楚如何去做。

我将一些图像存储在 s3 中,并希望根据项目在开发、测试或生产期间保存的情况而使用不同的存储桶。

所以,我想我可以说

:存储=>:s3,
                  :s3_credentials => ":rails_root/config/s3.yml",
                  :url => '/activities/:id/:style.:extension',
                  :path => 'activities/:id/:style.:extension',
                  :bucket => 'appName_:envirnment'

当然,我似乎找不到怎么说:环境。这必须在某处作为变量可用,不是吗?

4

1 回答 1

3

它应该通过直接包含#{Rails.env}在 :url 和 :path 值中来正常工作。对于开发和测试,每次加载类时都会加载 url 和路径值,而在生产中它们会在启动时加载。所以只需包含它,它应该可以工作:

:bucket => "appName_#{Rails.env}"
于 2012-08-16T03:46:15.883 回答