Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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 从Faker处存储在S3中的种子配置文件图片_Ruby On Rails_Amazon S3_Seeding_Faker - Fatal编程技术网

Ruby on rails 从Faker处存储在S3中的种子配置文件图片

Ruby on rails 从Faker处存储在S3中的种子配置文件图片,ruby-on-rails,amazon-s3,seeding,faker,Ruby On Rails,Amazon S3,Seeding,Faker,我正在开发一个Rails应用程序,我在S3中有一个用于活动存储的has_one_附加的配置文件图片,我想在为我的用户播种时,从Faker为他们的化身图像播种数据。 以下是种子代码: 20.times do Student.create( first_name: Faker::Name.first_name, last_name: Faker::Name.last_name, phone_number: Faker::PhoneNumber.cell_ph

我正在开发一个Rails应用程序,我在S3中有一个用于活动存储的has_one_附加的配置文件图片,我想在为我的用户播种时,从Faker为他们的化身图像播种数据。 以下是种子代码:

20.times do
  Student.create(
      first_name: Faker::Name.first_name, 
      last_name: Faker::Name.last_name,
      phone_number: Faker::PhoneNumber.cell_phone,
      school_id: School.first.id,
      vehicle_make_model: Faker::Vehicle.make_and_model,
      vehicle_year: Faker::Vehicle.year,
      vehicle_color: Faker::Vehicle.color,
      email_address: Faker::Internet.email,
      password: "password", 
      email: Faker::Internet.email,
      profile_picture: Faker::Avatar.image
  ).save
end
以下是用户aka Student的模型(该模型设置正确,在通过站点上载图像时有效):

班级学生

我之前已经对其余的数据进行了播种,效果很好,但一旦我集成了S3并尝试使用这些数据进行播种,它就不再适合我了

试试这样的方法:

#seed_file
require 'open-uri'

def image_fetcher
    open(Faker::Avatar.image)
    rescue
    open("https://robohash.org/sitsequiquia.png?size=300x300&set=set1")
end

20.times do |n|
  s = Student.create(
     ...
     #remove profile_picture from here
  )

  s.profile_picture.attach({
     io: image_fetcher,
     filename: "#{n}_faker_image.jpg"
  })
end

不幸的是,当调用openuri时,我得到了一个500错误代码,特别是Yopenuri::HTTPError:500内部服务器Error@RoccoDaigler好的,更新了我的帖子。500的原因是一些
伪造者。图像
url无效,正在抛出错误。确保所有东西都是我贴的。另外,
.save
已删除,因为它不直接创建。
#seed_file
require 'open-uri'

def image_fetcher
    open(Faker::Avatar.image)
    rescue
    open("https://robohash.org/sitsequiquia.png?size=300x300&set=set1")
end

20.times do |n|
  s = Student.create(
     ...
     #remove profile_picture from here
  )

  s.profile_picture.attach({
     io: image_fetcher,
     filename: "#{n}_faker_image.jpg"
  })
end