[paperclip] ścieżka z datą stworzenia obiektu

Witam, chciałbym prosić o sprawdzenie kodu czy nie może on powodować jakiś niespodzianek albo czy można go uprościć, robiłem troche metodą prób i błędów dlatego chciałbym się upewnić. Chciałbym mieć ścieżki z datą stworzenia obiektu, może być ich sporo a trzeba pamieŧać o ograniczeniu na liczbę folderów w systemach plików. Rozwiązanie z datą wydaje mi się bardziej eleganckie niz :partition_id

[code=ruby] has_attached_file :avatar,
:styles => {
:original => [“200x200>”, :jpg],
:thumb => [“50x50#”, :jpg] },
:storage => :s3,
:s3_domain_url => “s3-eu-west-1.amazonaws.com”,
:url => “:s3_domain_url”,
:s3_credentials => “#{RAILS_ROOT}/config/s3.yml”,
:path => lambda {|a| “foobarz/#{foobar_created_at(a.instance)}/:id/avatars/:style.:extension”}

def self.foobar_created_at(obj)
obj.created_at.nil? ? Date.today : obj.created_at.to_date
end[/code]

Po co wymyślać koło od nowa? Raczej podział po idku jest bardziej popularny i prostszy (mająć id obiektu wiesz gdzie go szukać, u Ciebie musisz się dowiedzieć jeszcze jaka jest jego data stworzenia). Podział po idku rozkłada pliki równomiernie, po dacie nie. Limit folderów? Przecież partition_id grupuje po 3 cyfry, zatem masz max w jednym folderze 1000 plików, co nijak ma się do limitów.

A po co limit folderow na s3 ? :stuck_out_tongue: Tam jest limit folderow ?

A widzisz, nie dopatrzyłem. Na s3 nie ma takich limitów, ale i tak dobrze jest dzielić na takie podkatalogi z praktycznego powodu. Używając np. s3foxa (plugin do ff) przy większej ilości plików jest wielka zamuła (nie mówiąc już o tym że lista plików potrafi być pobierana przez kilka minut - w jednym żądaniu s3 zwraca max 1000 plików).

dzięki za odpowiedzi, widac warto zostać przy id_partition

Cant’r create node sux :wink: