質問

デフォルトでは、CarrierWaveはモデルにリンクされたファイルを削除していないことがわかります。どうやってするの?

役に立ちましたか?

解決

CarrierWaveは、S3からファイルを自動的に削除する必要があります。 Rails 3.1アプリでこれをテストしました。

他のヒント

あなたは電話する必要があります

@image.destroy

いいえ

@image.delete

また、AWS S3パネルの更新ボタンを使用します

私はCarrierWaveに精通していませんが、一般的に、 after_destroy おそらくあなたが望むものです。

class Model < ActiveRecord::Base
  after_destroy :delete_linked_file

  def delete_linked_file
    # Delete the linked file here
  end
end

はい、あなたはこのようにそれをすることができます

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top