2012-12-09 54 views
1

我現在有這樣的事情在我的has_attached_file聲明回形針s3_host_alias,如何使可用於每個環境

# 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 

的問題是,我不知道如何調用從Photo.rb模型中,這s3_host_alias屬性。

任何想法該怎麼做?

回答

0

我有同樣的問題,並通過發送lambda來s3_host_alias解決了這個問題:

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

同時務必設置url:選項:

url: ':s3_alias_url' 
相關問題