在最近的一些重构中,我们改变了用户头像的存储方式,没有意识到一旦部署它会影响所有现有用户。所以现在我正在尝试编写一个 rake 任务来通过做这样的事情来解决这个问题。
namespace :fix do
desc "Create associated ImageAttachment using data in the Users photo fields"
task :user_avatars => :environment do
class User
# Paperclip
has_attached_file :photo ... <paperclip stuff, styles etc>
end
User.all.each do |user|
i = ImageAttachment.new
i.photo_url = user.photo.url
user.image_attachments << i
end
end
end
当我尝试运行它时,虽然我得到了用户:类的未定义方法`has_attached_file'
我可以在脚本/控制台中执行此操作,但似乎无法从 rake 任务中找到回形针插件的方法。