我通常会获取生产数据的db转储来测试和修复错误。由于我们允许用户上传他们自己的头像,当我尝试加载使用用户头像的页面时,我得到了很多404。这会影响我的测试时间,所以我想清除db中所有用户的头像。是否有捷径可寻?我正在使用回形针。
User.rb
has_attached_file :avatar
答案 0 :(得分:0)
使用rake任务最好解决这个问题。
在avatars.rake
lib/tasks
的文件
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
答案 1 :(得分:0)
正如jvnill所说,你应该手动删除这些数据 但是,如果你有很多用户,那么循环使用它们将花费很多时间。
task clear_avatars: :environment do
User.update_all 'avatar = NULL'
end
您只执行一个SQL查询并删除所有头像。