我通常会从我们的生产数据中获取一个db转储来测试和修复bug。因为我们允许用户上传他们自己的头像,所以当我尝试加载一个使用用户头像的页面时,我得到了很多404。这会影响我的测试时间,所以我想从数据库中清除所有用户的头像。有什么简单的方法可以做到这一点吗?我在用回形针。
User.rb
has_attached_file :avatar发布于 2013-03-05 18:40:25
这个问题最好使用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
发布于 2013-03-05 18:45:43
正如jvnill所说,您应该手动删除该数据。
但是,如果您有很多用户,遍历所有用户将花费大量时间。
task clear_avatars: :environment do
User.update_all 'avatar = NULL'
end您只执行了一个SQL查询并删除了所有的头像。
https://stackoverflow.com/questions/15221666
复制相似问题