3

デフォルトでは、carrierwave はモデルにリンクされたファイルを削除しません。どうやってするの?

4

4 に答える 4

2

Carrierwave は S3 からファイルを自動的に削除するはずです。Rails 3.1 アプリでこれをテストしました。

于 2011-09-12T12:52:08.283 に答える
1

電話する必要があります

@image.destroy

いいえ

@image.delete

aws s3 パネルの更新ボタンも使用します

于 2011-12-02T02:13:44.650 に答える
0

私は Carrierwave に詳しくありませんが、一般的には、 に接続するafter_destroyことをお勧めします。

class Model < ActiveRecord::Base
  after_destroy :delete_linked_file

  def delete_linked_file
    # Delete the linked file here
  end
end
于 2011-01-17T13:41:28.960 に答える
0

はい、このようにできます

def delete_image_folder
    FileUtils.remove_dir(File.join(Rails.root, File.join( 'public' , file_name.store_dir)), :force => true)  
end

ただし、Carrierwave 構成ルートを変更した場合は、それを考慮する必要があることを覚えておいてください (デフォルトは public であるため、このコードは機能します)。

于 2013-07-03T16:15:36.447 に答える