Paperclip( https://github.com/thoughtbot/paperclip ) を利用しファイルのアップロードをやってます。
ファイルの格納先フォルダにクラス名とかIDとかが利用できますが、やっぱり日付をつければ分かりやすく、なしにもファイルの管理ができます。
has_attached_file`に使えるinterpolationはhttps://github.com/thoughtbot/paperclip/blob/master/lib/paperclip/interpolations.rb に詳しく乗っていますので、ご参考ください。
まずは日付を含むInterpolationsを作りましょう。
# file path: RAILS_ROOT/config/paperclip.rb(ここじゃくてもよいです。)
Paperclip.interpolates :ymd_path do |attachment, style|
attachment.instance.avatar_updated_at.utc.strftime "%Y/%m/%d"
end
これで新たに:ymd_pathを定義しました。
次はModelの中に:
has_attached_file :data,
:url => "/pictures/:ymd_path/:id/:style_:basename.:extension",
:path => "pictures/:ymd_path/:id/:style_:basename.:extension",
これでpictures/2013/12/19/7/content_recent-happening.pngのようなファイルが作られます。