Rails3 – 如何在应用程序中获取aws-s3的yml配置数据?

具体来说,我有一个文件config / amazon_s3.yml,aws-s3 gem使用它来设置一些s3配置设置,比如密钥等。我还将一些这样的数据写入ENV中的var中,在初始化程序的不同文件中所以我可以通过调用paperclip使用的“has_attached_file”方法来引用它们。

在初始化器中获取文件以从s3配置yml中读取它们,或者为gem使用的类的一些配置设置更聪明,例如AWS::S3::Base.connection.secret_access_key (这不是’工作)。

有任何想法吗?

我在这里找到了答案如何在config / initalizer中使用YML值

首先我加入yaml并将其粘在一个常数中。

 #config/initializers/constants.rb S3_CONFIG = YAML.load_file("#{::Rails.root}/config/amazon_s3.yml") 

然后,当我为模型设置回形针时,请拉入这些值,确保我参考当前环境:

 class Entry < ActiveRecord::Base has_attached_file :media, :styles => { :medium => "300x300>", :thumb => "110x110>" }, :storage => :s3, :bucket =>S3_CONFIG[::Rails.env]["bucket"], :s3_credentials => { :access_key_id => S3_CONFIG[::Rails.env]["access_key_id"], :secret_access_key => S3_CONFIG[::Rails.env]["secret_access_key"] } end