:image_uid
画像を識別するための一意の ID であるため、翻訳には適していません。しかし、:image_name
属性が存在する場合、Dragonfly はそれをファイル名として使用します。
テキストを挿入するなどの理由で言語ごとに異なる画像が必要な場合は、名前またはより正確には URL が常に異なることに注意する必要があります。たとえば、ロケールを url: に追加する?locale=en
か、ファイルに名前を付けることができますtranslation.en.jpg
。名前を割り当てるには、ヘルパー メソッド@model.image.name
、.basename
、およびを使用できます.ext
。
ファイル名のみを変更し、常に同じ画像を提供する場合は、URL 書き換えエンジンが必要で、キャッシュの前にファイル名を削除します。そうしないと、同じイメージの不要なコピーが作成され、ディスク容量と処理能力が無駄になります。
rack-rewrite
とgemsを使用すると、次のrack-cache
ようになります。
require 'dragonfly/rails/images'
Rails.application.middleware.insert_before(Rack::Cache, Rack::Rewrite) do
rewrite %r{/media/([^/]+)/[^?]*(.*)}, '/media/$1$2'
end