I'm trying to import users avatar from a CSV and attach to the users with ActiveStorage.
I've created a rake task for this, but it's not working (and do not throws any error). In my CSV there are only 2 fields: email and avatar (avatar is the url to the file, that is on another server).
This is the task:
require 'csv'
namespace :import do
desc "Import avatars to users from CSV"
task avatars: :environment do
filename = File.join Rails.root, "avatars.csv"
CSV.foreach(filename, headers: true, col_sep: ";", header_converters: :symbol) do |row|
User.find_by(email: row[:email]) do |u|
u.avatar.attach(URI.parse(row[:avatar]).open)
end
end
end
end
Any advice? Thanks for your help.