1

has_attached_file我目前在我的声明中有这样的内容,

# Photo.rb
...
:s3_host_alias => 'cdn.mydomain.com'

由于s3_host_alias指向在每个环境中都不同的特定存储桶,我想知道如何设置:s3_host_alias读取取决于其环境的值。

我在想一种有组织的方法可能是保存在aws.yml像这样的同一个配置文件中,

development:
  bucket: development.mydomain.com
  access_key_id: <%= ENV['S3_KEY'] %>
  secret_access_key: <%= ENV['S3_SECRET'] %>
  s3_host_alias: cdn-dev.mydomain.com

production:
  bucket: media.mydomain.com
  access_key_id: <%= ENV['S3_KEY'] %>
  secret_access_key: <%= ENV['S3_SECRET'] %>
  s3_host_alias: cdn.mydomain.com

test:
  bucket: test.mydomain.com
  access_key_id: <%= ENV['S3_KEY'] %>
  secret_access_key: <%= ENV['S3_SECRET'] %>
  s3_host_alias: cdn-test.mydomain.com

问题是我不知道如何从模型中调用这个s3_host_alias属性。Photo.rb

知道怎么做吗?

4

1 回答 1

0

我有同样的问题,并通过发送一个 lambda 到s3_host_alias

s3_host_alias: lambda {|p| p.s3_credentials[:s3_host_alias]}

请务必同时设置url:选项:

url: ':s3_alias_url'
于 2014-09-01T01:42:40.540 回答