2016-08-04 61 views
2

Ich bekomme einen 'fetch': key not found: "S3_BUCKET_NAME" (KeyError) Fehler in Schienen (4.2.3) mit' aws-sdk ',' ~> 2.3 'und "Büroklammer", "~> 5.0.0"`fetch ': Schlüssel nicht gefunden:" S3_BUCKET_NAME "(KeyError) mit Büroklammer/aws s3/rails

Ich habe die Schlüssel in meiner Umgebung über Terminal und heroku config zeigt sie aufgeführt.

In meinem beide config/Umgebungen/development.rb sowie in meiner Config production.rb Ich habe eingeschlossen:

config.paperclip_defaults = { 
    storage: :s3, 
    s3_credentials: { 
    bucket: ENV.fetch('S3_BUCKET_NAME'), 
    access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'), 
    secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'), 
    s3_region: ENV.fetch('AWS_REGION'), 
    } 
} 

Ich habe auch den obigen Code in meinem user.rb Modell, aber für aus Gründen der Referenz sieht es so im Modell:

has_attached_file :avatar, 
    styles: { medium: "300x300#", thumb: "100x100#" }, 
    :convert_options => { 
    :thumb => "-quality 75 -strip" }, 
    :storage => :s3, 
    :s3_credentials => { 
     :bucket => ENV['S3_BUCKET_NAME'], 
     :access_key_id => ENV['AWS_ACCESS_KEY_ID'], 
     :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY'], 
     :region => ENV['AWS_REGION'] 
    }, 
    :path => ":filename.:extension", 
    # :path => ":rails_root/public/system/:attachment/:id/:style/:filename", 
    :default_url => "default_img.png" 

    validates_attachment_content_type :avatar, content_type: /\Aimage\/.*\Z/ 

ich auch die env in meinem secrets.yml vars aufgenommen haben:

development: 
    secret_key_base: 817c07d41b8524495628fbe91fb1f0535ade65aa96a3fee379a8d16c29cc1f7b167f537442e547422ab17ee9700028a95896eb1c0717de06dfe7895d15ddb5ce 
    secret_key: sk_test_xxx 
    publishable_key: pk_test_xxx 
    access_key_id: xxx 
    secret_access_key: xxx 
    s3_bucket_name: 'bucket-name' 

test: 
    secret_key_base: a38e71848a4d9bc63fa8dce4522add10a4931b10e6786f0cab6a9eb1643e271b992f52fa6eff672b0d03687003099c0632477dd26b246ac4e637c52c69ec4ab0 

# Do not keep production secrets in the repository, 
# instead read values from the environment. 
production: 
    secret_key_base: <%= ENV["SECRET_KEY_BASE"] %> 
    secret_key: <%= ENV["SECRET_KEY"] %> 
    publishable_key: <%= ENV["PUBLISHABLE_KEY"] %> 
    access_key_id: <%= ENV['AWS_ACCESS_KEY_ID'] %> 
    secret_access_key: <%= ENV['AWS_SECRET_ACCESS_KEY'] %> 
    s3_bucket_name: <%= ENV["S3_BUCKET_NAME"]%> 

obwohl dies möglicherweise nicht erforderlich war. Um mich herum zu googeln und die wenigen anderen Beiträge zu SO, die mit diesem Fehler zu tun haben, durchzugehen, habe ich wenig getan - hat irgendjemand irgendwelche Ideen, was das Problem sein könnte?

Antwort