清除用户头像

时间:2013-03-05 10:39:05

标签: ruby-on-rails paperclip

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

User.rb

has_attached_file :avatar

2 个答案:

答案 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查询并删除所有头像。