1

私は通常、バグをテストして修正するために、本番データの db ダンプを取得します。ユーザーが自分のアバターをアップロードできるようにしているため、ユーザーのアバターを使用するページを読み込もうとすると、多くの 404 が返されます。これは私のテスト時間に影響するので、データベースからユーザーのアバターをすべてクリアしたいと考えています。これを行う簡単な方法はありますか?ペーパークリップを使用しています。

User.rb

has_attached_file :avatar
4

2 に答える 2

0

jvnill が言うように、そのデータは手動で削除する必要があります。
ただし、多数のユーザーがいる場合は、それらすべてをループすると時間がかかります。

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

SQL クエリを 1 つだけ実行し、すべてのアバターを削除しています。

于 2013-03-05T10:45:43.063 に答える
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次に、端末で呼び出すだけです

于 2013-03-05T10:40:25.387 に答える