Railsアプリで画像と添付ファイルを管理するためにトンボの宝石を使用しています。ユーザーモデルに基づいて特定のディレクトリ構造に画像を保存する必要があります。たとえば、名前のあるユーザーモデルがあり、各ユーザーに名前のあるアルバムが多数ある場合、画像をに保存する必要があります。 "#{RAILS_ROOT}/public/system/#{user.name}/#{user.album.name}/#{suffix}"
トンボのroot_pathを変更し、次のようにrelative_storage_pathをオーバーライドしました。
class MyDataStore < Dragonfly::DataStorage::FileDataStore
private
def relative_storage_path(suffix)
"#{suffix}"
end
end
それでも、理想的なパスを作成するために、のようuser.name
なActiveRecordオブジェクト属性を渡す方法がわかりません。user.album.name
relative_storage_path
どうすればそんなことができるのか分かりますか?