ruby on rails - fog Missing required arguments: aws_access_key_id -


i'm stuck this, tried find answer on stackoverflow, nothing worked, hope can give me advices. working fine locally, before adding aws parameters , still working when dont upload picture on profile.

main problem >>

argumenterror in devise::registrationscontroller#update
missing required arguments: aws_access_key_id

here user.rb : (maybe storage wrong or credentials , or maybe dont initiate file aws_key_id )

    class user < activerecord::base   devise :database_authenticatable, :registerable,          :recoverable, :rememberable, :trackable, :validatable    has_attached_file :avatar,     :styles => {       :medium => "300x300>",       :thumb => "100x100#"       },     :default_url => "/images/:style/missing.png",     :url  => ":s3_domain_url",     :path => "public/avatars/:id/:style_:basename.:extension",     :storage => :fog,     #configuration amazon s3     :fog_credentials => {         provider: 'aws',         region: 'frankfurt',         aws_access_key_id: env["aws_access_key_id"],         aws_secret_access_key: env["aws_secret_access_key"]     },         fog_directory: env["fog_directory"]      validates_attachment_content_type :avatar, :content_type => /\aimage\/.*\z/ end 

gemfile :

gem 'paperclip', '~> 4.1' gem 'devise' gem 'aws-sdk' gem 'fog' gem 'figaro' 

application.yml

secret_key_base: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx' aws_access_key_id: 'xxxxxxxxxq' aws_secret_access_key: 'yxxxxxxx' email_login: 'xxx@gmail.com' email_password: 'xxxxxx' development:   fog_directory: demo-dev production:   fog_directory: demo-production 

secret.yml

development:   secret_key_base: <%= env["secret_key_base"] %>  test:   secret_key_base: <%= env["secret_key_base"] %>  production:   secret_key_base: <%= env["secret_key_base"] %> 

should add in production.rb file ?

hope find advices me :d

martin

hey haven' configured correctly when loading fog_credentials, be:

config = yaml::load_file('config/application.yml') ... :fog_credentials => {   provider: 'aws',   region: 'frankfurt',   aws_access_key_id: config["aws_access_key_id"],   aws_secret_access_key: config["aws_secret_access_key"] } ... 

because haven't set env variables it, defined in application.yml, load them up


Comments