1

我通常会得到我们生产数据的数据库转储来测试和修复错误。由于我们允许用户上传他们自己的头像,当我尝试加载使用用户头像的页面时,我会收到很多 404。这会影响我的测试时间,所以我想从数据库中清除所有用户的头像。是否有捷径可寻?我用回形针。

User.rb

has_attached_file :avatar
4

2 回答 2

0

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

创建一个名为avatars.rakeinside的文件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在您的终端上调用

于 2013-03-05T10:40:25.387 回答
0

正如 jvnill 所说,您应该手动删除该数据。
但是,如果您有很多用户,则遍历所有用户将花费大量时间。

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

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

于 2013-03-05T10:45:43.063 回答