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