2
私は以下のモデルを持っていると私のファイルがそうのようにアップロードされたい:ペーパークリップ(サムネイル/元)
/images/1/123abc_name_original.jpg
/images/1/123abc_name_medium.jpg
/images/1/123abc_name_thumb.jpg
私は以下のように使用した場合、:ハッシュがありますファイルごとに異なります。私はこれを同じにして、私の資産テーブルのデータベースに保存できるようにしたいと思います。私はファイルのセキュリティについて心配していません。
コード:ペーパークリップは、異なるタイムスタンプを取る、さまざまなスタイルのために
Paperclip.interpolates :my_hash do |attachment, style|
Time.now.to_i.to_s
end
:
Paperclip.interpolates :global_path do |attachment, style|
attachment.instance.assetable.global_id
end
Paperclip.interpolates :val do |attachment, style|
jt=:basename
Digest::MD5.hexdigest(jt)
end
has_attached_file :asset,
:hash_secret => "jtsomething",
:url => "/images/:global_path/:hash_:basename_:style.:extension",
:path => UPLOAD_PATH + "/:global_path/:hash_:basename_:style.:extension",
:styles => { :medium => "200x200>", :thumb => "75x75>", :bigthumb => "125x125"
}
でも一貫したタイムスタンプは、このような素晴らしいことです。それは一貫しているはずです。
私はおそらくこれを行う方法について何か不足しています。
THX
ハッシュ補間の定義は何ですか? – James
デフォルトでは:paperclipで動作するハッシュ値(:hash_secret値を使用)があります。上書きしても、異なるインスタンスには異なる値が設定されます(後で説明するタイムスタンプの例と同様)。これまでに経験したことのある人を見つけることを願っています。 – timpone
あなたは解決しようとしている問題は何ですか?パスのディレクトリ構造にオブジェクトIDがある場合、ファイル名にハッシュを挿入する必要はありません。 – Winfield