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

私は同じ問題を抱えていて、ラムダをに送信して解決しました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 に答える