Ruby on rails 使用载波和S3时无法在heroku中部署
我是rails的新手 现在使用ruby和rails教程。在其中一节中,我们使用载波和AWS S3进行照片存储 在heroku中部署时,会出现如下错误: ArgumentError:缺少必需的参数:aws\u访问\u密钥\u id、aws\u机密\u访问\u密钥 我在carrir_wave.rb上写下如下内容:Ruby on rails 使用载波和S3时无法在heroku中部署,ruby-on-rails,heroku,amazon-s3,Ruby On Rails,Heroku,Amazon S3,我是rails的新手 现在使用ruby和rails教程。在其中一节中,我们使用载波和AWS S3进行照片存储 在heroku中部署时,会出现如下错误: ArgumentError:缺少必需的参数:aws\u访问\u密钥\u id、aws\u机密\u访问\u密钥 我在carrir_wave.rb上写下如下内容: if Rails.env.production? CarrierWave.configure do |config| config.fog_credentials = {
if Rails.env.production?
CarrierWave.configure do |config|
config.fog_credentials = {
# Configuration for Amazon S3
:provider => 'AWS',
:aws_access_key_id => ENV['******************'],
:aws_secret_access_key => ENV['*************************']
}
config.fog_directory = ENV['*******************']
end
end
当我在终端运行我的测试时,所有的测试都很好
我一直通过以下方式在heroku上设置凭据:
$ heroku config:set S3_ACCESS_KEY=<access key>
$ heroku config:set S3_SECRET_KEY=<secret key>
$ heroku config:set S3_BUCKET=<bucket name>
$heroku配置:设置S3\u访问\u键=
$heroku配置:设置S3\u密钥=
$heroku配置:设置S3_存储桶=
非常感谢您的帮助。在config/initializers文件夹中创建一些carrierwave.rb文件,并将下面的代码片段放在carrierwave.rb文件中
CarrierWave.configure do |config|
config.fog_credentials = {
provider: 'AWS', # required
aws_access_key_id: ENV['AWS_ACCESS_KEY_ID'], # required
aws_secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'] # required
}
config.fog_directory = ENV['S3_BUCKET_NAME'] # required
end
并将以下键的值放入项目文件夹中的某个.env文件中
1) AWS\u访问\u密钥\u ID
2) AWS\u密码\u访问\u密钥
3) S3_BUCKET_名称
然后从终端重新运行服务器在config/initializers文件夹中创建一些carrierwave.rb文件,并将以下代码片段放入carrierwave.rb文件中
CarrierWave.configure do |config|
config.fog_credentials = {
provider: 'AWS', # required
aws_access_key_id: ENV['AWS_ACCESS_KEY_ID'], # required
aws_secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'] # required
}
config.fog_directory = ENV['S3_BUCKET_NAME'] # required
end
并将以下键的值放入项目文件夹中的某个.env文件中
1) AWS\u访问\u密钥\u ID
2) AWS\u密码\u访问\u密钥
3) S3_BUCKET_名称
然后从终端重新运行服务器