ruby on rails -清除用户头像



我通常获得生产数据的db转储以测试和修复错误。因为我们允许用户上传他们自己的头像,当我试图加载一个使用用户头像的页面时,我得到了很多404。这会影响我的测试时间,所以我想从数据库中清除所有用户的头像。有简单的方法吗?我在用回形针。

User.rb
has_attached_file :avatar

最好使用rake任务来解决这个问题。

lib/tasks中创建一个名为avatars.rake的文件

desc "Clear all avatars"
task clear_avatars: :environment do
  User.find_each do |user|
    user.avatar = nil 
    user.save(validate: false)
  end 
end

然后在您的终端上调用rake clear_avatars

正如jvnill所说,应该手动删除该数据。
然而,如果你有很多用户,循环遍历他们会花费很多时间。

task clear_avatars: :environment do
  User.update_all 'avatar = NULL'
end

您只执行一个SQL查询并删除所有的头像。

最新更新