【问题标题】:Missing required arguments: aws_access_key_id, aws_secret_access_key on rake test缺少必需的参数:aws_access_key_id、 rake 测试中的 aws_secret_access_key
【发布时间】:2015-04-30 16:32:36
【问题描述】:

我正在学习 hartle 教程的第 11 章。 当我运行heroku run rake db:migrate 时,我得到了这个错误:

Missing required arguments: aws_access_key_id, aws_secret_access_key

我用enter link description here 中的答案解决了它并成功迁移。但是现在当我运行时

bundle exec rake test

它给了我:

rake aborted!
ArgumentError: Missing required arguments: aws_access_key_id, aws_secret_access_key

这是我的载波文件:

CarrierWave.configure do |config|
  config.fog_credentials = {
    :provider               => 'AWS',
    :aws_access_key_id      => ENV['S3_KEY'],
    :aws_secret_access_key  => ENV['S3_SECRET'],
    :region                 => ENV['S3_REGION'],
    :endpoint               => ENV['S3_ENDPOINT']
  }

  if Rails.env.test? || Rails.env.development?
    config.storage = :file
    config.enable_processing = false
    config.root = "#{Rails.root}/tmp/uploads/#{DateTime.now.to_f}.#{rand(999)}.#{rand(999)}"
  else
    config.storage = :fog
  end

  config.cache_dir = "#{Rails.root}/tmp/uploads/#{DateTime.now.to_f}.#{rand(999)}.#{rand(999)}"
  config.fog_directory  = ENV['S3_BUCKET_NAME']
  config.fog_public     = false
  config.fog_attributes = {}
end

我在enter link description here 中测试了答案,但它对我不起作用。

【问题讨论】:

  • 能否添加正在加载 ENV 变量的文件。
  • 对不起,我对 Rails 太陌生了......他们在哪里?

标签: ruby-on-rails ruby heroku amazon-web-services railstutorial.org


【解决方案1】:

我会在测试助手中设置这些:

ENV['S3_KEY'] = 'S3_KEY'
ENV['S3_SECRET'] = 'S3_SECRET'
ENV['S3_REGION'] = 'S3_REGION'
ENV['S3_ENDPOINT'] = 'S3_ENDPOINT'

或者,你可以这样做

if ! Rails.env.test?
  config.fog_credentials = {
    :provider               => 'AWS',
    :aws_access_key_id      => ENV['S3_KEY'],
    :aws_secret_access_key  => ENV['S3_SECRET'],
    :region                 => ENV['S3_REGION'],
    :endpoint               => ENV['S3_ENDPOINT']
  }
end

但我认为第一个更好,因为它不会用测试代码污染您的生产代码。

【讨论】:

  • 你的意思是我必须为carrierwave创建一个新的帮助文件?
  • 不,更新您的 test_helper.rb 或更新您的 carrierwave 配置文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-30
相关资源
最近更新 更多