我目前在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
属性。
知道怎么做吗?
答案 0 :(得分:0)
我遇到了同样的问题,并通过向s3_host_alias
发送一个lambda来解决它:
s3_host_alias: lambda {|p| p.s3_credentials[:s3_host_alias]}
请务必同时设置url:
选项:
url: ':s3_alias_url'