Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Carrierwave-作为独立操作保存到S3_Ruby On Rails_Ruby_Amazon S3_Carrierwave_Fog - Fatal编程技术网

Ruby on rails Carrierwave-作为独立操作保存到S3

Ruby on rails Carrierwave-作为独立操作保存到S3,ruby-on-rails,ruby,amazon-s3,carrierwave,fog,Ruby On Rails,Ruby,Amazon S3,Carrierwave,Fog,我的用户存储一个外部图像URL(http://their-site.com/photo.jpg)在-例如-@user.external_image。我正在尝试为用户类编写一个方法,该方法获取该URL并使用Carrierwave将其保存到S3 因此,在上面的@user,我想运行@user.save_to_s3,并让它将图像“上传”到s3。为此,我尝试在:s3\u image上向用户类装载一个上载程序,并编写以下方法: def save_to_s3 self.remote_s3_image_ur

我的用户存储一个外部图像URL(http://their-site.com/photo.jpg)在-例如-
@user.external_image
。我正在尝试为用户类编写一个方法,该方法获取该URL并使用Carrierwave将其保存到S3

因此,在上面的
@user
,我想运行
@user.save_to_s3
,并让它将图像“上传”到s3。为此,我尝试在
:s3\u image
上向用户类装载一个上载程序,并编写以下方法:

def save_to_s3
  self.remote_s3_image_url = self.external_image
  save
end
但是,当我在
@user
记录上调用该方法时,会出现以下错误:

ArgumentError:缺少必需的参数:aws\u访问\u密钥\u id、aws\u机密\u访问\u密钥


所以它离我越来越近了,但它无法检索我的S3凭据——即使它们已经设置好了。如果您有任何想法或建议,我将不胜感激。

问题与Carrierwave或Fog无关。我的疏忽是,我设置的环境变量(在我的应用程序的
.ENV
文件中)没有加载到引导的Rails环境中(例如Rails控制台)。一旦我在我的bundle中添加了(正好解决了这个问题),那么
save\u to\u s3
方法就起作用了。

你能清楚地说明你是如何解决这个问题的吗。我在initializer文件夹中已经有一个carrierwave.rb,但它仍然没有读取aws_密钥