私はを使用しようとしていますが、私は一意のファイル名を作成するためにwikiのメソッドを使用しています。問題は、recreate_versions!
を実行するとファイル名が変更されますが、マウントされたオブジェクト自体には更新されません。どのようにこれらのURLをリフレッシュできますか?recreate_versions! wikiに記載されている一意のファイル名の方法を使用してください
2
A
答えて
3
ここは私のために働いたものです。すでに存在する場合、ファイル名を使用します。だから、彼らはあなたが復活する時に変わらない!
def filename
if original_filename
if model && model.read_attribute(:avatar).present? #or whatever you call your column
model.read_attribute(:avatar)
else
# create new filename however you're doing it
end
end
end
9
キャッシングを扱うときに機能するソリューションは、再作成のバージョンの後にマウントされたオブジェクトを保存することです:
例:
avatar.image.recreate_versions!
avatar.save!
バージョンを再作成するときにも、ユニークなファイル名を使用し続けることができますこの方法キャッシングを適切に処理します。
問題は、一意のファイル名は通常、キャッシュするファイルを処理することを意味します。そのため、recreate_versionsを実行しても同じURLを指します!新しい値ではなくキャッシュされた値を返します。 –