Open7

Carrierwave with Faker::Avatar.image

fsefasfsefas

Carrierwave使用時にダミー画像を登録するときにはまったのでめも

fsefasfsefas

以下がドンピシャな内容
ruby on rails - extension_whitelist prevents Faker::Avatar.image - Stack Overflow

rubyの open-uri というライブラリを使用するらしい

あと extension_whitelistcontent_type_whitelistに変えないとエラーが発生するらしい

fsefasfsefas

最終的には以下のようなコードにした

app/models/user.rb
def self.create_account_as_guest
  require "open-uri"
  faker_user_name = Faker::Name.first_name
  avatar = open(Faker::Avatar.image(slug: faker_user_name, size: "150x150", format: "jpg"))
  self.create!(nickname: faker_user_name, profile_image: avatar, email: "#{faker_user_name}@example.com") do |u|
    u.password = SecureRandom.urlsafe_base64
  end
  avatar.close
end